最近由于工作需要,一个nodejs项目,跑在容器云环境上,需要打印日志,初步搜索了下,log4js可以满足需求。
参考资料:
https://www.npmjs.com/package/log4js
以及官网文档
https://log4js-node.github.io/log4js-node/
主要用到的appender是fileAppender.
主要步骤:
1.定义1个log4js的配置文件,log4js.json.
内容如下:
{
"appenders": {
"access": {
"type": "dateFile",
"filename": "log/access.log",
"pattern": "-yyyy-MM-dd",
"category": "http"
},
"app": {
"type": "file",
"filename": "log/app.log",
"maxLogSize": 10485760,
"numBackups": 3
},
"errorFile": {
"type": "file",
"filename": "log/errors.log"
},
"errors": {
"type": "logLevelFilter",
"level": "ERROR",
"appender": "errorFile"
}
},
"categories": {
"default": { "appenders": [ "app", "errors" ], "level": "DEBUG" },
"http": { "appenders": [ "access"], "level": "DEBUG" }
}
}
2.在应用启动时(app.js)加载改配置文件,
var log4js = require('log4js');
log4js.configure('./config/log4js.json');
var log = log4js.getLogger("app");
app.use(log4js.connectLogger(log4js.getLogger("http"), { level: 'auto' }));
3.在业务js中可以这么用:
var log = require('log4js').getLogger("index");
log.debug("This is in the index module");