Как войти в файл с помощью 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
несколько раз для экспресс-маршрутизации.