log4js中间件记录自定义日志 - CyberSage-hub/express GitHub Wiki

1,安装log4js

$ npm install log4js --save

2,放到项目根目录下的config里,新建配置文件log4js.json

{
  "appenders": {
    "everything": {
      "type": "dateFile",
      "filename": "./log/",
      "pattern": "yyyy-MM-dd.log",
      "alwaysIncludePattern": true,
      "compress": true
    }
  },
  "categories": {
    "default": {
      "appenders": [ "everything" ],
      "level": "debug" 
    }
  }
}

3,在bin/www启动文件里,初始化log4js配置

//初始化配置log4js
var log4js = require('log4js');
log4js.configure('./config/log4js.json');

4,修改app.js文件

//注释掉之前使用morgan代码,用log4js替代

//var logger  = require('morgan');
var log4js = require('log4js');

//var logger = require('morgan');
var log = log4js.getLogger("app");

//http 请求日志使用log4js替代
//var accessLogStream = FileStreamRotator.getStream({
//    date_format: 'YYYYMMDD',
//    filename: path.join(logDirectory, 'access-%DATE%.log'),
//    frequency: 'daily',
//    verbose: false
//})
//app.use(logger('combined',{stream:accessLogStream}));
app.use(log4js.connectLogger(log4js.getLogger("http"), { level: 'auto' }));

5,重启应用后,访问 http://localhost:3000/users,将会在log目录下看到日志文件,打开文件,可以看到下面内容:

[2017-10-23 17:35:28.079] [DEBUG] users - debugdebugdebug
[2017-10-23 17:35:28.082] [INFO] users - infoinfoinfoinfo
[2017-10-23 17:35:28.083] [WARN] users - warnwarnwarnwarn
[2017-10-23 17:35:28.083] [ERROR] users - errorerrorerrorerror
[2017-10-23 17:35:28.083] [FATAL] users - fatalfatalfatalfatalfatal