這幾天一直在研究log4js的日志功能,說起來都是淚啊
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2Zukncj9CX0xWdhZWZk9CX09Wbl9lcvRXakVGa49CXy9GdpRWZoh3LcRXZu5ibkN3Yuc2bsJmLjlGdhR3cvw1LcpDc0RHaiojIsJye.gif)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2Zukncj9CX0xWdhZWZk9CX09Wbl9lcvRXakVGa49CXy9GdpRWZoh3LcRXZu5ibkN3Yuc2bsJmLjlGdhR3cvw1LcpDc0RHaiojIsJye.gif)
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIml2Zukncj9CX0xWdhZWZk9CX09Wbl9lcvRXakVGa49CXy9GdpRWZoh3LcRXZu5ibkN3Yuc2bsJmLjlGdhR3cvw1LcpDc0RHaiojIsJye.gif)
。。就那麼簡單的一個功能,足足卡了我幾天。(沒看錯,就是幾天)。。。原因就是,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");
如果出現如下圖顯示,那麼恭喜你,成功調用了。(因為測試,是以多列印了幾條)
最後附上完整的日志顯示截圖。。
最後最後提醒一下,使用時注意路徑的問題。。