相关疑难解决方法(0)

为所有模块设置默认的winston记录器

我正在尝试将winston设置为以与此处相同的方式在我的所有模块中工作:

在几个模块中使用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;
Run Code Online (Sandbox Code Playgroud)

然后我在我的主app.js文件中要求记录器:

var logger = require('./logger.js');
logger.info('Starting server');  // this console log looks great, just as I configured
Run Code Online (Sandbox Code Playgroud)

然而,当我在其他模块中尝试使用winston时,我丢失了我在logger.js中为winston设置的配置

其他模块:

var logger = require('winston');
logger.info('in another module');  // this is back to winstons default console transport
Run Code Online (Sandbox Code Playgroud)

根据我上面提到的链接,我应该能够在所有其他模块中使用winston,并且我定义/配置的传输应该仍然相同.我唯一能想到的是控制台传输不是这样.如果没有给出什么?如何配置Console传输一次,然后在所有其他模块中使用winston?

logging node.js winston

1
推荐指数
1
解决办法
4418
查看次数

标签 统计

logging ×1

node.js ×1

winston ×1