一、使用log4js

此处用的是6.3.0版本

// "log4js": "^6.3.0"
npm i log4js@6.3.0

二、配置(生成file的默认配置,log4js_config.js)

  // 引人入
let log4js = require('log4js');
// 生成file的默认配置
log4js.configure({appenders: {ruleConsole: {type: 'console'},ruleFile: {type: 'dateFile',filename: 'logs/server-',pattern: 'yyyy-MM-dd.log',maxLogSize: 10 * 1000 * 1000,numBackups: 3,alwaysIncludePattern: true}},categories: {default: {appenders: ['ruleConsole', 'ruleFile'], level: 'info'}}
});// 导出log方法,以便其他地方直接使用,可自定义使用
const logFun = async (request,response)=>{const logger = log4js.getLogger();const logInfo = {// 输出的log内容,可以是任何类型;response,request,}; // 输出log,使用其中一个即可logger.info(logInfo)// logger.info(logInfo)// logger.debug(logInfo)// logger.info(logInfo)// logger.warn(logInfo)// logger.error(logInfo)// logger.fatal(logInfo)
} // 网上其他文案上的自动生成方案,这种方案log内容太少,对使用者用处不大
// 这个就是let express = require('express');
// let app = express();app.use(logDefault());
// 这种示例,这里不做示例了,仅以配置化logFun()输出为主
const logDefault = () =>{return log4js.connectLogger(log4js.getLogger('access'), { level: log4js.levels.INFO })
}module.exports = {logFun,logDefault,
}

三、使用(这里将res.json()做了封装,所有接口返回都走这个封装)

let { logFun } = require('./log4js_config.js');
/*** @param {*} req node默认接收第一个参数request* @param {*} res node默认接收第二个参数response* @param {*} code * @param {*} data * @param {*} msg * @returns */const resJson = (req,res,code,data,msg) => {data = data || '';code =  code || '200';message =  msg || '';// 执行log输出,传入你的requestlogFun(req,{code,data,message});// 输出return res.json({code,data,message});
}
module.exports = {resJson,
}

四、示例(node使用)

// 使用
let { resJson } = require('../utils/resJson.js');
// 登录示例
router.post('/login',(req,res)=>{let {mobile,pwd} = req.body;if(mobile && pwd){resJson(req,res,'200','登陆成功',{token:'token123456789'})}else{resJson(req,res,'403','登陆失败,请输入正确的用户名和密码','')}
})

node项目使用log4js记录日志相关推荐

  1. docker build命令详解_Docker 搭建你的第一个 Node 项目到服务器

    本文你能学到什么 Docker 是什么 Docker 概念 关于 Docker 的概念是确实不太好总结,下面我通过四点向你说明 Docker 到底是个什么东西. Docker 是世界领先的软件容器平台 ...

  2. node项目发送邮件失败

    title: node项目发送邮件失败 date: 2018-05-07 10:46:43 tags: 防坑指南 categories: 防坑指南 描述问题 搭建一个node项目时,需要在注册时发送邮 ...

  3. node项目正常启动后不能访问(防火墙未放行端口)

    今天打开个人站点,发现登陆不了,原以为是pm2的问题,先停了pm2用node app.js的方式运行后端代码,项目能正常启动但是依然不能登陆. 1 检查ecs的安全组规则,node项目端口3000.8 ...

  4. centos8 linux部署node项目

    1.域名解析到服务器 2.上传代码到项目目录 3.数据库: mongo use user user是数据库名 db.nfrc.insert({"name":admin," ...

  5. node+express创建第一个node项目

    一.安装nodejs 1.到官网下载nodejs安装包 中文官网地址:http://nodejs.cn/ 英文官网地址:https://nodejs.org/en/ 根据自己的系统和版本,选择下载对应 ...

  6. Node项目部署正常启动后不能访问的问题

    Node项目部署正常启动后不能访问的问题 Node项目部署之后,发现访问不了,pm2 list也是正常的,vue项目都可以正常访问,就是请求后台nodejs的时候就报404. 原以为是pm2的问题,先 ...

  7. node配置ssl证书_在Linux服务器上部署node项目(git部署,forever持续运行,配置SSL证书)...

    一.环境部署 1.下载安装包: wget https://nodejs.org/dist/v9.9.0/node-v9.9.0-linux-x64.tar.xz 2.解压并进入目录: xz -d no ...

  8. 宝塔部署node项目_SFF一站式node服务管理平台实践

    导语 本文阐述了基于Serverless搭建一站式node服务管理平台过程中,在开发框架.日志.监控.部署等方面遇到的问题及技术方案. 背景 Serverless是一种无服务器架构,它的弹性伸缩,按需 ...

  9. Linux - 部署node项目

    安装Node 1.下载linux版本node安装包 https://npmmirror.com/mirrors/node/v16.14.0/node-v16.14.0-linux-x64.tar.xz ...

最新文章

  1. 2022-2028年中国环氧结构胶行业市场研究及投资前景预测报告
  2. 在Service中通过WindowManger添加View的方式来把UI界面显示出来
  3. 在 Windows 上像 Linux 一样使用命令
  4. java中,字符串和集合判断是否为空
  5. web静态资源访问规则||webjars的访问配置——webjars是maven库里面对css js image打的一个jar包
  6. Makefile的条件执行
  7. HDU1506 / POJ2339 Largest Rectangle in a Histogram 单调递减栈
  8. Win32 控件篇(6)
  9. i css svg,如何设置 CSS 背景图中的 SVG 的颜色
  10. 如何在SQL Server Reporting Services中自动创建KPI
  11. RHEL6 kernel bug在hadoop上的测试
  12. Gym 100818I Olympic Parade(位运算)
  13. 新手必备的15款渲染器,超级干货不要错过
  14. react 使用iconfont 图标
  15. excel批量删除所有空白行
  16. 一张图让你掌握测试人员能力模型及研发测试流程规范
  17. ADB 自动补全 及 offline 解决方法
  18. 问题 F: 求一个3*3矩阵对角线元素之和
  19. 关于oracle的锁的级别以及介绍
  20. 基于单片机的温度计设计

热门文章

  1. 网络与安全1【什么ARP***,IP地址欺骗都是浮云】买台300元的交换机搞定
  2. Deep Complex Convolution Recurrent Network(DCCRN模型)
  3. ThinkPad T490:Ubuntu16.04下设置无线网
  4. 热膨胀系数(CTE)的不同处理方法对于封装翘曲仿真的影响
  5. 花呗额度快充显示服务器调整,花呗有新变化,快充额度被关闭,还能快速提额吗?...
  6. python 报错: IndentationError: unindent does not match any outer indentation level
  7. r5 3550H和i510300H 参数对比
  8. 宝塔-Java前后端分离项目-前端静态资源的访问
  9. python随机数列表变成字符串_第五天:python字符串和列表
  10. 和一个人聊天很舒服是什么感觉?