node项目log4js进行日志记录
超人鸭IP属地: 广东 0.1072022.09.08 18:25:04字数 1,973阅读 827安装与了解
npm install log4js --save
目前的版本是:6.6.1
在终端打印消息:
import log4js from 'log4js'
const logger = log4js.getLogger()
logger.level = 'all'
logger.debug('some debug messages')
终端效果:
[2022-09-08T15:25:23.776] [DEBUG] default - some debug messages
log4的日志默认由:时间 级别 类型 - 日志内容 组成
这里有了第一个概念,级别,log4可配置的级别一共有九个,这里找了一个参考图:
除了
all、off
外,其他七个级别从低到高如上图所示,log4只会输出同级别或者高级别的日志,效果如下:
const logger = log4js.getLogger()
logger.level = 'error'
logger.debug('some debug messages')
此时想去输出 debug
日志,但是设置的级别是error
,log4不会输出比设置低级的日志。
第二个概念是类型,log4可以对我们的日志进行分类,回到上面的代码:
const logger = log4js.getLogger()
logger.level = 'all'
logger.debug('some debug messages')
输出:
[2022-09-08T15:25:23.776] [DEBUG] default - some debug messages
此时输出的类型的 default
可以在 getLogger 传入类型名称,使打印出来的日志带上类型:
const logger = log4js.getLogger('超人鸭')
logger.level = 'all'
logger.debug('some debug messages')
输出:
[2022-09-08T15:39:48.632] [DEBUG] 超人鸭 - some debug messages
这个类型在log4中叫 Categories
,可以配置,详细配置下面讲。
上面只是log4的最简单使用,跟console.log
没啥区别,但记录日志是需要记录到文件里面的,而且需要配置文件内容的格式,让我们更好的定位问题。
配置
log4的配置方式如下:
log4js.configure({
appenders: {},
categories: {}
})
通过log4js.configure
方法传入一个配置对象进行配置,配置对象里面必须传入 appenders、categories
。
在进行配置之前,先简单介绍一个log4三个最重要的对象之间的关系,以便更好的理解,三个对象为:appenders、categories、logger
。(当然这都是我自己的理解,如有错误或者更好的解释欢迎指教,