我正在尝试设置 winston 以与此处相同的方式在我的所有模块中工作:
但我遇到了问题。
我已经设置了一个 logger.js 文件来配置控制台记录器:
var winston = require('winston');
var logger = new (winston.Logger)({
transports: [
new (winston.transports.Console)({
timestamp: true,
level: 'verbose',
colorize: true
})
]
});
module.exports = logger;
然后我在我的主 app.js 文件中需要该记录器:
var logger = require('./logger.js');
logger.info('Starting server'); // this console log looks great, just as I configured
但是,当我在所有其他模块中尝试 require winston 时,我丢失了我在 logger.js 中为 winston 设置的配置
其他模块:
var logger = require('winston');
logger.info('in another module'); // this is back to winstons default console transport
根据我上面引用的链接,我应该能够在所有其他模块中要求 winston,并且我定义/配置的传输应该仍然是相同的。我唯一能想到的是,控制台传输并非如此。如果不是什么给?如何配置一次控制台传输,然后在所有其他模块中使用 winston?