我有一个以下脚本作为我的应用程序中其他脚本的日志记录模块:
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 :(得分: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');