Как войти в файл с помощью log4js, когда я получаю сообщение об ошибке?

Я хочу войти в какой-нибудь файл, когда получаю только сообщение об ошибке от клиента. И я хочу напечатать сообщения на терминале, когда я получу другие. Итак, я использую 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?

2 ответа

Вызовите регистратор другой категории, чтобы показать журнал для другого действия.

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

Пользователь connectLogger только один раз в app.js!

Я сослался на это, и я знал, что невозможно использовать connectLogger несколько раз для экспресс-маршрутизации.

Другие вопросы по тегам