这几天一直在研究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");
如果出现如下图显示,那么恭喜你,成功调用了。(因为测试,所以多打印了几条)
最后附上完整的日志显示截图。。
最后最后提醒一下,使用时注意路径的问题。。