2014-04-11 81 views
0

我有一個下面的腳本,其工作原理爲我的應用程序的其他腳本日誌模塊指定不同的日誌文件:如何與每個日誌條目

logger.js

winston = require('winston'); 

var fileLog = new (winston.Logger)({ 
    transports:[ 
     new (winston.transports.File)({filename: filename.log}) 
    ] 
}); 

module.exports.fileLog = fileLog; 

我用這個日誌模塊在腳本方式如下:

的script.js

var logger = require('./logger'); 
logger.fileLog.log('info','Chill winston'); 

現在所有的日誌條目將被保存到filename.log,但我希望能夠給每個我登錄時指定一個不同的日誌文件從的script.js

條目是否有可能?提前致謝。

回答

0

我設法解決了我的日誌模塊中的自定義函數的問題。

logger.js

winston = require('winston'); 

function fileLogF(filename,level,msg) { 
    if(typeof fileLog == 'undefined' || (fileLog.transports.file.filename)!= filename){ 
     fileLog = new (winston.Logger)({ 
      transports:[ 
       new (winston.transports.File)({filename: filename,json:false }), 
      ], 
     }) 
    } 
    fileLog.log(level,msg); 
} 

現在製作日誌條目時,我可以指定一個日誌文件:

的script.js

var logger = require('./logger'); 
logger.fileLog('filename.log','info','Chill winston'); 
相關問題