0

当我只收到来自客户端的错误响应时,我想登录某个文件。当我得到其他消息时,我想在终端上打印消息。所以,我正在使用express并且log4js喜欢这样。

这是我的代码的一部分。

const log4js = require('log4js'),
  express = require('express'),
  app = express();

log4js.configure({
  appenders: [
    {type: 'console'},
    {type: 'file', filename: 'logs/logs.log', category: 'file'}
  ]
});

const fileLogger = log4js.getLogger('file'),
  consoleLogger = log4js.getLogger('console');

fileLogger.setLevel('ERROR');

app.enable('trust proxy');
app.use(log4js.connectLogger(fileLogger, { format: ':method :url' }));
app.use(log4js.connectLogger(consoleLogger, { level: 'auto', format: ':method :url' }));

我希望错误响应由 fileLogger 过滤,然后写入一条日志消息logs.log,其他消息由 consoleLogger 过滤,然后在终端上打印消息,但不是。

有没有一个好办法来解决它connectLogger

4

2 回答 2

0

我提到了这一点,我知道connectLogger快速路由不可能多次使用。

于 2017-01-06T07:28:00.380 回答
0

调用不同的类别记录器以将日志显示到不同的操作。

var logger = log4js.getLogger('file');

在 app.js 中只使用一次 connectLogger!

于 2017-05-20T05:20:21.337 回答