日誌 - Node實戰

express模塊簡單集成了一個日誌模塊morgan,能夠將請求的一些消息打印在後臺終端上,然而在實際的生產系統中,咱們一般須要更完備的日誌功能,以便供運維人員按期查看。git

這裏簡單介紹winston模塊的引入,實現最簡單的日誌寫入文件功能,首先項目中安裝模塊,以下命令:github

npm install --save express-winston
npm install --save winston

而後在項目app.js文件中引入對應的模塊,以下代碼所示:express

var winston = require('winston');
var expressWinston = require('express-winston');
// 正常請求的日誌
app.use(expressWinston.logger({
  transports: [
    new (winston.transports.Console)({
        json: true,
        colorize: true
    }),
    new winston.transports.File({
      filename: 'logs/success.log'
    })
  ]
}));
// 正常訪問路由
routes(app);
// 錯誤請求的日誌
app.use(expressWinston.errorLogger({
  transports: [
    new winston.transports.Console({
        json: true,
        colorize: true
    }),
    new winston.transports.File({
      filename: 'logs/error.log'
    })
  ]
}));

日誌文件分爲success.logerror.log,放在正常路由以前則爲成功日誌,放在正常訪問路由以後,則爲錯誤日誌。如不需過多功能,這樣放進項目裏便可,詳細瞭解可查看官方文檔: winstonjs/winston: A logger for just about everything.npm


相關文章
相關標籤/搜索