您的位置:首页 > Web前端 > Node.js

nodejs express项目使用log4js

2016-09-07 13:42 621 查看
这几天一直在研究log4js的日志功能,说起来都是泪啊





。。就那么简单的一个功能,足足卡了我几天。(没看错,就是几天)。。。原因就是,log4js没有把加载文件和访问的路径写进生成的日志文件。上百度查来查来都是那几编教程,然后再去google查,还是那样。。。查找未果之后,只能自己默默探索了。。

为了避免大家跟着我踩坑,下面就直接上正确的代码了。。

1.下载log4js包(在自己项目下输入下面这个命令)

npm install log4js



2.创建一个log.js文件

var log4js = require('log4js');
log4js.configure({
appenders:[
{
type : "console",
category:"console" //设置后控制台不输出信息,可删除这句
},{
type:"dateFile",
filename:"../logs/log",
pattern: "_yyyy-MM-dd.log",
alwaysIncludePattern: true, //文件名是否始终包含占位符
absolute: false, //filename是否绝对路径
category: "dateFileLog"
}
],
replaceConsole: true,
levels:{
dateFileLog:"INFO", //设置记录器的默认显示级别,低于这个级别的日志,不会输出。其他级别(trace、debug、warn、error、fatal)
}
});

var dateFileLog = log4js.getLogger('dateFileLog');
exports.logger = dateFileLog;

exports.use = function(app){
//app.use(log4js.connectLogger(dateFileLog, {level:'INFO', format:':method :url'}));
app.use(log4js.connectLogger(dateFileLog, {level:'auto', format:':method :url'}));
}



3.在app.js文件中引入log.js文件



4.调用日志模板





*切记,必须放在app.use(logger.('dev'))前面,不然日志不打印访问的路径和加载文件路径

5.自定义打印信息

在需要自定义打印信息文件上,添加

var logger = require('../logs/log').logger;

然后调用使用

logger.info("Test");

如果出现如下图显示,那么恭喜你,成功调用了。(因为测试,所以多打印了几条)



最后附上完整的日志显示截图。。



最后最后提醒一下,使用时注意路径的问题。。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nodejs log4js express 日志