2017-01-05 7 views
0

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

ответ

0

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

0

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

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

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