2017-01-05 11 views
0

私はクライアントからのエラー応答を取得するときにいくつかのファイルにログインしたいです。そして、私は他の人がいるときにターミナルでメッセージを印刷したい。だから、私はexpresslog4jsのように使用しています。エラーレスポンスを受け取ったときに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' })); 

Iは、エラー応答がログメッセージがlogs.logに書き込まれ、他は、メッセージが端末上ではなく、印刷されconsoleLoggerによってフィルタリングされ、次いでfileLoggerによってフィルタリングされる期待。

connectLoggerを使用して解決するよい方法はありますか?

答えて

0

私はthisを参照していましたが、私は高速ルーティングのためにconnectLoggerを複数回使用することは不可能だと分かっていました。

0

別のアクションにログを表示するには、別のカテゴリのロガーを呼び出します。

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

ユーザーconnectLoggerはapp.jsで一度しか使用できません。

関連する問題