nodejs配置Log服务

本文介绍了如何在Node.js项目中使用log4js替代默认的日志系统morgon,以实现持久化存储日志信息。通过npm安装log4js后,配置app.js以设置不同级别的日志输出,如TRACE、DEBUG、INFO等。在日志级别选择INFO时,将仅记录高于此级别的错误。此外,还讨论了在其他路由中使用logger的方法,通过export将logger模块化。

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

   nodejs默认的采用是morgan的日志系统,一般显示的结果都是在控制台输出,当重启服务器的时候,这些信息就会丢失,无法长久保存,因此,我们考虑采用新的log机制,在nodejs采用的比较多的是log4js。

1:下载安装log4js

  npm install log4js

2:配置app.js

var log4js = require('log4js');
//配置日志系统
log4js.configure({
    appenders: [
        {type:'console'}, {
            type:'file',
            filename:'logs/access.log',
            maxLogSize:1024,
            backups:4,
            category:'normal'
        }
    ],
    replaceConsole:true
});

var logger = log4js.getLogger('normal');
logger.setLevel('INFO');</span>

其中的log等级可以进行调节,分别有:TRACE、DEBUG、INFO、WARN、ERROR、FATAL。选择某一等级之后,Log只会记录当前等级及以上的日志,例如选择INFO,则只记录INFO、WARN、ERROR、FATAL。其余的信息不与记录。

然后应用Log:

app.use(log4js.connectLogger(logger, {level:'auto'}));//, format:':method :url'</span>
其中可以对输出的日志进行格式化,例如format:':method:url'则只显示方法和对应的请求的URL

对于日志中的level,也可以采用auto模式,即对应不同的response_code(3XX,4XX,5XX等等),分别对应WARN/ERROR等待。
3:拓展使用

  当前配置的logger是在app.js中的,如果要在其他的route中使用logger则无法捕捉该句柄,所以可以把logger单独弄成api供其他的route使用。

  采用nodejs的export:

exports.logger = function(name){
    var logger = log4js.getLogger(name);
    logger.setLevel('INFO');
    return logger;
};
  当需要在其他的文件中使用logger时,require该logger方法,然后调用即可。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值