node.js express使用log4js记录日志

本文介绍如何配置log4js日志模块以实现不同级别的日志记录,并演示了如何在Node.js应用中使用该模块记录到控制台及按日期滚动的日志文件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

创建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.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值