NodeJS 日志模块 Log4js v2.x 配置使用
Log4js 为 NodeJS 的一个日志模块,功能强大的同时配置也是繁琐,我找了很多的文档都没有配置成功,最后才返现是 Log4js 版本的问题,目前的版本 v2.x 可使用本文提供的配置文档。
安装
npm install log4js npm install log4js –save // 安装到工程目录
基本使用
var log4js = require('log4js'); var logger = log4js.getLogger(); logger.level = 'debug'; logger.debug("Some debug messages");
配置规则
configure 方法为配置log4js对象,内部有 levels、appenders、categories 三个属性
levels
配置日志的输出级别,共 ALL<TRACE<DEBUG<INFO<WARN<ERROR<FATAL<MARK<OFF 八个级别,默认的日志级别是 OFF,只有大于等于日志配置级别的信息才能输出出来,可以通过 category 来有效的控制日志输出级别。
appenders
配置文件的输出源,一般日志输出 type 共有 console、file、dateFile 三种
- console 普通的控制台输出
- file 输出到文件内,以文件名-文件大小-备份文件个数的形式 rolling 生成文件
- dateFile 输出到文件内,以 pattern 属性的时间格式,以时间的生成文件
replaceConsole
是否替换控制台输出,当代码出现 console.log,表示以日志 type=console 的形式输出。
自定义配置文件
log4js.configure('./config/log4js.json');
log4js.json 内容如下:
{ "appenders": { "access": { "type": "dateFile", "filename": "log/access.log", "pattern": "-yyyy-MM-dd" }, "rule-console": { "type": "console" }, "rule-file": { "type": "dateFile", "filename": "log/server-", "encoding": "utf-8", "maxLogSize": 10000000, "numBackups": 3, "pattern": "yyyy-MM-dd.log", "alwaysIncludePattern": true }, "rule-error": { "type": "dateFile", "filename": "log/error-", "encoding": "utf-8", "maxLogSize": 1000000, "numBackups": 3, "pattern": "yyyy-MM-dd.log", "alwaysIncludePattern": true } }, "categories": { "default": { "appenders": [ "rule-console", "rule-file", "rule-error" ], "level": "debug" }, "http": { "appenders": [ "access" ], "level": "info" } } }
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论