Express 整合 Log4js

安装

目前log4js的版本是 3.0.6

$ npm install log4js

配置

创建 config 文件夹,新建配置文件 log4js.json

{
    "appenders":
    {
        "access":
        {
            "type": "dateFile",
            "filename": "logs/access.log",
            "pattern": "-yyyy-MM-dd",
            "category": "http"
        },
        "app":
        {
            "type": "dateFile",
            "filename": "logs/app.log",
            "maxLogSize": 10485760,
            "pattern": "-yyyy-MM-dd",
            "numBackups": 3
        },
        "errorFile":
        {
            "type": "file",
            "filename": "logs/errors.log"
        },
        "errors":
        {
            "type": "logLevelFilter",
            "level": "ERROR",
            "appender": "errorFile"
        }
    },
    "categories":
    {
        "default":
        {
            "appenders": ["app", "errors"],
            "level": "INFO"
        },
        "http":
        {
            "appenders": ["access"],
            "level": "DEBUG"
        }
    }
}

需要在项目下创建 logs 文件夹。

使用

修改 app.js

// 注释掉原有引用的 logger
// var logger = require('morgan');
...
// app.use(logger('dev'));

// 引入 log4js
var log4js = require('log4js');
log4js.configure('./config/log4js.json');
...
app.use(log4js.connectLogger(log4js.getLogger("http"), { level: 'auto' }));

启动应用,访问随意的路径,logs/access.log 中就有了访问日志信息。

在其他文件中使用 log:

var logger = require('log4js').getLogger("index");
...
logger.info('--- hi');

logs/app.log 中就有了打印的日志。

express 与 log4js 的示例项目:

https://github.com/log4js-node/log4js-example

你可能感兴趣的:(Express 整合 Log4js)