最近由于工作需要,一个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"
);