log4js 2.x的配置使用

来源:互联网 发布:更换mac地址的软件 编辑:程序博客网 时间:2024/05/17 11:56

刚好有需求,写一个log文件,记录信息。但是在网上找了很久没有合适的方案来给我一个新手去使用的。最终在github上找到一个demo,方案 很好,拿来配置了一下,感觉很不错。地址:https://github.com/xrian/node-log4j2-example

首先需要做的,创建一个log4js的配置文件。log4js.json

{    "appenders": {      "console": {        "type": "console"      },      "trace": {        "type": "file",        "filename": "log/access.log",        "maxLogSize ": 31457280      },      "http": {        "type": "logLevelFilter",        "appender": "trace",        "level": "trace",        "maxLevel": "trace"      },      "info": {        "type": "dateFile",        "filename": "log/app-info.log",        "pattern": ".yyyy-MM-dd",        "layout": {          "type": "pattern",          "pattern": "[%d{ISO8601}][%5p  %z  %c] %m"        },        "compress": true      },      "maxInfo": {        "type": "logLevelFilter",        "appender": "info",        "level": "debug",        "maxLevel": "info"      },      "error": {        "type": "dateFile",        "filename": "log/app-error.log",        "pattern": ".yyyy-MM-dd",        "layout": {          "type": "pattern",          "pattern": "[%d{ISO8601}][%5p  %z  %c] %m"        },        "compress": true      },      "minError": {        "type": "logLevelFilter",        "appender": "error",        "level": "error"      }    },    "categories": {      "default": {        "appenders": [          "console",          "http",          "maxInfo",          "minError"        ],        "level": "all"      }    }  }

config\log4j.json是配置文件 配置了三个类别 一个是http请求日志,相当于tomcat的access日志,当日志到达30M时,重新生成一个新的文件 一个是保存debug和info级别的日志.每天生成一个新的文件 一个是保存error及以上等级的日志.每天生成一个新的文件

之后,在app.js文件中,使用log4js

修改app.js 在顶部引入

var log4js = require('log4js');log4js.configure('config/log4j.json');

这样,就可以在项目中的其他地方使用log4j输出日志了.

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

将log4j整合进入express

在app.js中,将express默认的日志模块注释掉,并且加载log4js模块

// app.use(logger('dev'));app.use(log4js.connectLogger(log4js.getLogger("http"), { level: 'trace' }));

app.use(log4js.connectLogger(…))这代码,最好是放在其他的app.use()前面

原创粉丝点击