node.js express使用log4js记录日志

来源:互联网 发布:淘宝直通车养词技巧 编辑:程序博客网 时间:2024/05/23 15:42

创建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");

需要注意的是,如果日志使用的是日期(如本例子),即一天一个文件,测试的话,直接修改日期测试,是不会生产新的日期日志的,必须把时间调为晚上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.