log4js
log4js是一个流行的Node.js日志记录库,它允许你在你的Node.js应用程序中轻松地实现灵活、高效的日志记录。log4js提供了不同的日志级别,包括:trace、debug、info、warn和error。你可以根据需要设置这些级别,从而更好地了解你的应用程序运行状况。此外,log4js还提供了多个输出目标,包括控制台输出、文件输出和日志记录服务器等。
下面是log4js的一些常用参数和使用方法:
1. 参数配置
log4js可以通过JSON文件进行配置,例如:
{
"appenders": {
"console": { "type": "console" },
"file": {
"type": "file",
"filename": "logs/app.log",
"maxLogSize": 10485760,
"backups": 3,
"compress": true
}
},
"categories": {
"default": { "appenders": ["console", "file"], "level": "info" }
}
}
这里我们定义了两个输出目标:console和file,分别用于输出到控制台和文件。其中,file的日志将写入到logs/app.log文件中,并且每个日志文件的大小不超过10MB,最多保存3个备份,并启用了压缩。categories则用于指定日志的级别和输出目标。
2. 使用方法
在Node.js应用程序中使用log4js非常简单,只需要安装log4js依赖,然后在代码中引入log4js库,并根据需要进行配置即可。
例如,我们可以通过以下方式在应用程序中使用log4js:
const log4js = require('log4js');
// 加载配置文件
log4js.configure('./log4js.json');
// 获取logger对象
const logger = log4js.getLogger();
// 记录日志
logger.trace('This is a trace message.');
logger.debug('This is a debug message.');
logger.info('This is an info message.');
logger.warn('This is a warning message.');
logger.error('This is an error message.');
在上面的代码中,我们首先通过log4js.configure方法加载配置文件,然后通过log4js.getLogger方法获取logger对象,最后使用logger对象记录日志。根据我们在配置文件中定义的categories,默认情况下,所有级别为info及以上的日志信息将同时输出到控制台和日志文件中。
除了在应用程序中直接使用log4js,我们还可以将其与其他Node.js框架(如Express和Koa)集成,以便更好地记录和管理应用程序的日志信息。
3. 以下是log4js配置文件中常见参数的详细说明:
- appenders: 指定日志输出目标,可以定义多个,每个输出目标都有自己的类型和参数配置。
-
- type: 指定输出目标的类型,包括:console、file、dateFile、logLevelFilter、logFaces-UDP、logFaces-TCP、logFaces-HTTP、multiprocess、smtp、slack、hipchat等。
- filename: 指定输出到文件时的文件名,可以是绝对路径或相对路径。
- maxLogSize: 指定日志文件的最大大小,超过这个大小后将自动进行文件切割。默认为null,表示不限制文件大小。
- backups: 指定保留的备份数量,当日志文件切割时会自动保存指定数量的备份文件。默认为5。
- compress: 指定是否启用压缩,当日志文件进行切割时,可以将备份文件进行压缩以节省磁盘空间。默认为false。
- layout: 指定输出格式化方式,可以是pattern、json等。
- categories: 指定日志级别和输出目标的对应关系,可以定义多个。
-
- default: 指定默认的输出目标和日志级别。
- appenders: 指定输出目标,可以是单个或多个,对应appenders中的输出目标名称。
- level: 指定输出目标的日志级别,包括:trace、debug、info、warn、error、fatal等。
- levels: 指定全局日志级别,对于没有在categories中指定的输出目标,会使用该全局日志级别。
- pm2: 指定在pm2中的配置参数。
-
- appenders: 指定pm2启动时使用的输出目标,可以定义多个。
- outFile: 指定标准输出日志的文件路径。
- errorFile: 指定错误输出日志的文件路径。
以上是常见的log4js配置参数,根据具体需求,也可以定义自己的配置参数。在使用log4js时,可以根据实际情况进行配置,以满足不同场景的需求。