【发布时间】:2018-04-14 20:32:17
【问题描述】:
如何动态更改winston中的日志级别,反映多个文件中的级别变化?
我有两个 js 文件,我在两个文件中都包含了记录器。如果我在 index.js 中更改记录器的级别,则更改不会反映在 readfile.js 中
这是我的代码:
winston_logger.js
var winston = require('winston');
var logger;
module.exports.init = function (logLevel) {
logger = new(winston.Logger)({
transports: [
new(winston.transports.Console)({
level: logLevel
})
],
exitOnError: false
});
}
module.exports.getLogger = function (config) {
if (!module.exports.logger) {
exports.init('info')
}
return logger;
}
module.exports.debugLevel = function(){
logger.transports.console.level = 'debug'
}
Index.js
var readFile = require('./readFile')
var winston = require('./winston_logger')
var log = winston.getLogger()
log.info("info message" );
/*Here Im changing the log level as debug*/
winston.debugLevel ();
setTimeout(function(){
readFile(function(){})
}, 5000)
readfile.js
var readFile = require('./readFile')
var winston = require('./winston_logger')
var log = winston.getLogger()
log.info("info message" );
/*Here Im changing the log level as debug*/
winston.debugLevel ();
setTimeout(function(){
readFile(function(){})
}, 5000)
不要将此问题标记为重复问题。 These 答案对我没有帮助。
【问题讨论】:
标签: javascript node.js logging winston