node.js express-winston errorLogger skip不起作用

我使用express-winston的node.js进行日志logging,就像这样:

var express = require('express'); var app = express(); var winston = require('winston'); var expressWinston = require('express-winston'); var routes = require('./routes/index'); app.use("/", routes); app.use( expressWinston.errorLogger({ transports: [ new winston.transports.DailyRotateFile({ name: 'file', datePattern: '_dd-MM-yyyy.log', colorize: true, json: true, filename: './logs/errors/error_log', maxsize: 50 * 1024 * 1024, maxFiles: 10, zippedArchive: true }), new winston.transports.Console({ json: true, colorize: true }) ], skip: function(req, res) { return true; } }) ); 

请注意,我正在使用跳过function并返回true(用于testing目的),以便跳过所有错误日志logging,如下所示: express-winston options

但它不工作,有什么想法?

在根据README.md发送响应之后调用skip函数:

确定是否跳过logging的函数,默认返回false。 响应已经发送之后调用。

对于你的例子,你想使用ignoreRoute选项,你的情况是一个返回true的函数。

确定是否跳过logging的函数,默认返回false。 任何后来的中间件之前调用。

 app.use( expressWinston.errorLogger({ transports: [ new winston.transports.DailyRotateFile({ name: 'file', datePattern: '_dd-MM-yyyy.log', colorize: true, json: true, filename: './logs/errors/error_log', maxsize: 50 * 1024 * 1024, maxFiles: 10, zippedArchive: true }), new winston.transports.Console({ json: true, colorize: true }) ], v------------------------------ use `ignoreRoute` instead of `skip` ignoreRoute: function(req, res) { return true; } }) );