express 与 log4js 整合

参考资料

  1. https://github.com/log4js-node/log4js-node
  2. node.js express使用log4js记录日志

问题来源

最近在学习express,其中常用的一个模块就是对日志的管理,日志的重要性我就不用多说了,书中介绍的是用log4js这个第三方插件,我这里只是作为学习笔记记录

安装

npm install -D log4js

案例

定义日志的引用

var log4js = require('log4js');
log4js.configure({
    appenders: {
        ruleConsole: {type: 'console'},
        ruleFile: {
            type: 'dateFile',
            // 这个目录是相对于根目录的,即与app.js 是同一级的
            filename: 'logs/server-',
            pattern: 'yyyy-MM-dd.log',
            maxLogSize: 10 * 1000 * 1000,
            numBackups: 3,
            alwaysIncludePattern: true
        }
    },
    categories: {
        default: {appenders: ['ruleConsole', 'ruleFile'], level: 'info'}
    }
});
var logger = log4js.getLogger('normal');

exports.logger = logger;

exports.use = function (app) {
    //页面请求日志,用auto的话,默认级别是WARN
    //这样会自动记录每次请求信息,放在其他use上面
    app.use(log4js.connectLogger(logger, {level: 'debug', format: ':method :url'}));
}

注意:我这里的案例用的是4.x版本,与2.x之前的差异比较大

express 引入 log4js

const express = require("express");
const http = require("http");
const app = express();
const log = require('./routes/config/logConfig');
var logger = require('./config/logConfig').logger;

////////////////////// 添加Log4js配置 /////////////////////////////
//结合express使用,记录请求日志
log.use(app);
//手动记录,可以代替console.log
logger.info('test info 1');
http.createServer(app).listen(3000);
阅读更多

没有更多推荐了,返回首页