日志中间件:winston 和 express-winston

我们使用 winston 和 express-winston 记录日志。新建 logs 目录存放日志文件,修改 index.js,在:

index.js

var pkg = require('./package');

下引入所需模块:

var winston = require('winston');
var expressWinston = require('express-winston');

将:

// 路由
routes(app);

修改为:

// 正常请求的日志
app.use(expressWinston.logger({
  transports: [
    new (winston.transports.Console)({
      json: true,
      colorize: true
    }),
    new winston.transports.File({
      filename: 'logs/success.log'
    })
  ]
}));
// 路由
routes(app);
// 错误请求的日志
app.use(expressWinston.errorLogger({
  transports: [
    new winston.transports.Console({
      json: true,
      colorize: true
    }),
    new winston.transports.File({
      filename: 'logs/error.log'
    })
  ]
}));

可以看出:我们将正常请求的日志打印到终端并写入了 logs/success.log,将错误请求的日志打印到终端并写入了 logs/error.log。需要注意的是:记录正常请求日志的中间件要放到 routes(app) 之前,记录错误请求日志的中间件要放到 routes(app) 之后。

你可能感兴趣的:(日志中间件:winston 和 express-winston)