前言
前端时间,我的 综合管理平台 前端接入了sentry,并且还在打包时上传了Sourcemap,前端的异常能够非常快速的定位(虽然后端也可以用sentry快速定位),在这篇文章我要介绍下 综合管理平台 后端接入log4(打印日志),帮我们快速定位到后端错误。
Level
我们的日志是分等级的,根据权重来分级的,等级如下:
{
ALL: new Level(Number.MIN_VALUE, "ALL"),
TRACE: new Level(5000, "TRACE"),
DEBUG: new Level(10000, "DEBUG"),
INFO: new Level(20000, "INFO"),
WARN: new Level(30000, "WARN"),
ERROR: new Level(40000, "ERROR"),
FATAL: new Level(50000, "FATAL"),
MARK: new Level(9007199254740992, "MARK"), // 2^53
OFF: new Level(Number.MAX_VALUE, "OFF")
}

比如,我选择了info级别的日志输出,那么 debug、trace这种的低级别的日志就不会被 写入到日志文件里。
安装
npm install log4js --save
配置
我们在express项目的根目录创建logs文件夹,logs文件内新建log.js文件,文件内容如下:
//引入插件log4js
var log4js =require('log4js')
//输出json格式的内容
log4js.addLayout('json',function(config){
return function(logEvent){
return JSON.stringify(logEvent)+config.separator
}
});
log4js.configure({
appenders:{
out :{
type:'file',
filename: "logs/log/error.log",
layout:{type:'json',separator:','}
}
},
categories:{
default:{appenders:['out'],level:'info'}
}
})
var logger=log4js.getLogger('json-test')
exports.logger=logger;
exports.use = function (app) {
app.use(log4js.connectLogger(logger, { level: 'info', format: ':method:url' }))
}
app.js中配置
const log = require('./logs/log')
log.use(app)
虽然,我们接入了log4,但是我觉得这是很没用必要的,因为pm2也可以查看日志,并且更加精准,所以尽可能的在以后的开发过程中,我们使用pm2的日志。
本文介绍了如何在Express后端项目中接入log4进行日志管理,包括日志等级设定、安装配置步骤,以及讨论了在实际使用中log4与pm2日志功能的比较。
930

被折叠的 条评论
为什么被折叠?



