2013-04-18 34 views
0

log.js如何將文件名傳遞給wiston記錄器構造函數?

var winston = require('winston'); 

var logger = new (winston.Logger)({ 
    transports: [ 
    new (winston.transports.Console)({ json: false, timestamp: true }), 
    new winston.transports.File({ filename: **Get from outside**, json: false }) 
    ], 
}); 

module.exports = logger; 

a.js,要登錄到自己的日誌文件

var logger = require('./log')('log_to_this_file'); <=== How can I pass a filename in? 

logger.info('log to file'); 

b.js,也希望登錄到自己的日誌文件

var logger = require('./log')('log_to_another_file'); <=== How can I pass a filename in? 

logger.info('log to file'); 

我不知道如何寫log.js到從外部獲取文件名。

我該怎麼辦?

回答

0

難道你不能在b.js中添加一個新的記錄器嗎?

var winston = require('winston'); 

    // 
    // Configure the logger for `category1` 
    // 
    winston.loggers.add('category1', { 
    console: { 
     level: 'silly', 
     colorize: 'true', 
     label: 'category one' 
    }, 
    file: { 
     filename: '/path/to/some/file' 
    } 
    });