当前位置: 首页 > 后端技术 > Node.js

Node.js-log4js模块

时间:2023-04-03 11:28:29 Node.js

Node.js日志系统log4js介绍1.日志分类log4js日志分为九个级别,每个级别的名称和权重如下:{ALL:newLevel(Number.MIN_VALUE,"所有"),跟踪:新级别(5000,“跟踪”),调试:新级别(10000,“调试”),信息:新级别(20000,“信息”),警告:新级别(30000,“警告”),ERROR:newLevel(40000,"ERROR"),FATAL:newLevel(50000,"FATAL"),MARK:newLevel(9007199254740992,"MARK"),//2^53OFF:newLevel(Number.MAX_VALUE,"OFF")}2.日志类型。getLogger()控制了以下地方3.LogAppender(也就是日志输出到哪里)console和File是log4js提供的appender,另外还有:DateFile:日志输出到一个文件,日志文件可以用一个具体日期模式,比如今天输出到default-2016-08-21.log,明天输出到default-2016-08-22.log;SMTP:输出日志到邮箱;Mailgun:通过MailgunAPI输出日志到Mailgun;levelFilter可以按级别过滤;和其他appender4.过滤级别和类别我们可以调整appender配置来过滤日志级别和类别:varlog4js=require('log4js');log4js.configure({appenders:[{type:'logLevelFilter',level:'DEBUG',类别:'category1',附加程序:{类型:'文件',文件名:'default.log'}}]})varlogger1=log4js.getLogger('category1');varlogger2=log4js.getLogger('category2');logger1.debug("Time:",newDate());logger1.trace("Time:",新日期());logger2.debug("时间:",newDate());使用logLevelFilter和level过滤日志级别,所有权重大于或等于DEBUG的日志都会输出,这之前也有提到日志级别权重的含义是按类别选择要输出的日志的类别.过滤掉category2下的日志。这个配置也接受一个数组,比如['category1','category2'],这样配置的两类日志就会输出到一个文件中。5.LayoutLayout是log4js提供的高级功能。通过布局,我们可以自定义每条输出日志的格式。log4js内置了四种格式:messagePassThrough:只输出日志的内容;basic:日志的时间、级别、类别会添加在日志内容的前面,通常是日志的默认布局;colored/coloured:基于basic的日志添加颜色,appenderConsole默认使用该布局;pattern:这是一个特殊的类型,你可以通过它来定义你想要的任何格式。Logger(输出日志内容)、Appender(日志输出到哪里去)、Layout(日志如何输出)