log4js 备忘

log4js 是 nodejs 日志处理模块。

最简单的例子:
let log4js = require ( 'log4js' )
let logger = log4js . getLogger ( '' )
logger . debug ( "Time:" , new Date ())
输出:

log4js 的 等级概念:
logger.debug是日志的分级,log4js 的日志分为九个等级:
{
  ALL: new Level(Number.MIN_VALUE, "ALL"),
  TRACE: new Level(5000, "TRACE"),
  DEBUG: new Level(10000, "DEBUG"),
  INFO: new Level(20000, "INFO"),
  WARN: new Level(30000, "WARN"),
  ERROR: new Level(40000, "ERROR"),
  FATAL: new Level(50000, "FATAL"),
  MARK: new Level(9007199254740992, "MARK"), // 2^53
  OFF: new Level(Number.MAX_VALUE, "OFF")
}

ALL 和 OFF 这两个等级并不会实际使用。

log4js 的 类型概念:
let log4js = require ( 'log4js' )
let logger = log4js . getLogger ( 'example' )
logger . debug ( "Time:" , new Date ())
输出:
let logger=log4js.getLogger(' example’)
这个是 getLogger()唯一可以传递的参数。为日志提供了第二个可以区分的维度,比如可以为每个文件设置不同的 category。更好的区分日志来源于哪一个模块。

Appender
配置日志输出到哪里,log4js 的配置信息可以存成 json 文件,json 文件中的相对路径可能会产生一些问题, 需要注意
{
    "appenders" : [
    {
        "type" : "dateFile" ,
        "filename" : "./logs/" ,
        "pattern" : "eniw-yyyy-MM-dd.log" ,
        "alwaysIncludePattern" : true
    }]
}
(每天一个日志文件)
在代码中调用该配置信息即可:
let log4js = require ( 'log4js' )
log4js . configure ( path . join ( __dirname , './log4js.json' ))
var logTest = log4js . getLogger ( 'logTest' )
logTest . debug ( "Time:" , new Date ())

过滤级别和类别

  • 使用 logLevelFilter 和 level 来对日志的级别进行过滤,所有权重大于或者等于DEBUG的日志将会输出。这也是之前提到的日志级别权重的意义;
  • 通过 category 来选择要输出日志的类别,category2 下面的日志被过滤掉了,该配置也接受一个数组,例如 ['category1', 'category2'],这样配置两个类别的日志都将输出到文件中。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值