1.新建log4js.js
const log4js = require('log4js');
log4js.configure({
"replaceConsole": true,
"appenders": {
"stdout": {//控制台输出
"type": "console"
},
"req": {
"type": "dateFile",
"filename": "logs/reqlog/",
"pattern": "req-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"maxLogSize": 104800,
"backups": 100
},
"err": {//错误日志
"type": "dateFile",
"filename": "logs/errlog/",
"pattern": "err-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"maxLogSize": 104800,
"backups": 100
},
"oth": {//其他日志
"type": "dateFile",
"filename": "logs/othlog/",
"pattern": "oth-yyyy-MM-dd.log",
"alwaysIncludePattern": true,
"maxLogSize": 104800,
"backups": 100
}
},
"categories": {//level:设置级别
"default": {
"appenders": [
"stdout",
"req"
],
"level": "debug"
},
"err": {
"appenders": [
"stdout",
"err"
],
"level": "error"
},
"oth": {
"appenders": [
"stdout",
"oth"
],
"level": "info"
}
}
});
exports.getLogger = function (name) {//name取categories项
return log4js.getLogger(name || 'default')
};
exports.useLogger = function (app, logger) {//用来与express结合
app.use(log4js.connectLogger(logger || log4js.getLogger('default'), {
format: '[:remote-addr :method :url :status :response-timems][:referrer HTTP/:http-version :user-agent]'//自定义输出格式
}))
};
1.引入log4js文件
const log4js= require('./logs.js')
const logger = log4js.getLogger()//根据需要获取logger
const errlogger = log4js.getLogger('err')
const othlogger = log4js.getLogger('oth')
log4js.useLogger(app,logger)
log4js.useLogger(app,errlogger)
log4js.useLogger(app,othlogger)