node.js express log 4 jsを使用してログを記録

1714 ワード

log.jsの作成
var log4js = require('log4js');
log4js.configure({
    appenders: [
        {
            type: 'console',
            category: "console"
        }, //     
        {
            type: "dateFile",
            filename: 'logs/log.log',
            pattern: "_yyyy-MM-dd",
            alwaysIncludePattern: false,
            category: 'dateFileLog'
        }//      
    ],
    replaceConsole: true,   //  console.log
    levels:{
        dateFileLog: 'INFO'
    }
});

var dateFileLog = log4js.getLogger('dateFileLog');

exports.logger = dateFileLog;

exports.use = function(app) {
    //      , auto  ,     WARN
    //app.use(log4js.connectLogger(dateFileLog, {level:'auto', format:':method :url'}));
    app.use(log4js.connectLogger(dateFileLog, {level:'debug', format:':method :url'}));
}

app.jsに次のコードを追加します.ロード順序のため、他のapp.useの前に置きます.
var log = require('./log');
log.use(app);

機能にログを記録し、requireパスは自分のプロジェクトによって変更されます.
var logger = require('../log').logger;
logger.info("this is log");

注意が必要なのは、ログが日付(この例のように)を使用している場合、1日に1つのファイルをテストしている場合、直接日付テストを修正しても、新しい日付ログは生産されません.時間を夜23時59分に調整して、時間を待つ必要があります.この場合、テストで新しいファイルが生成されるかどうか、公式の例は以下の通りです.( https://github.com/nomiddlename/log4js-node/wiki/Date%20rolling%20file%20appender):
Then initial logging would create a file called "blah.log".At midnight, the current "blah.log"file would be renamed to "blah.log-2012-09-26"(for example), and a new "blah.log"file created.