0

我有一个以下脚本,它用作我的应用程序中其他脚本的日志记录模块:

logger.js

winston = require('winston');

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

module.exports.fileLog = fileLog;

我通过以下方式在脚本中使用此日志记录模块:

脚本.js

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

现在所有日志条目都保存到filename.log,但我希望能够在每次从script.js记录条目时指定不同的日志文件

是否可以?提前致谢。

4

1 回答 1

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);
}

现在我可以在创建日志条目时指定一个日志文件:

脚本.js

var logger = require('./logger');
logger.fileLog('filename.log','info','Chill winston');
于 2014-04-15T07:57:47.553 回答