Winston logger exitOnError:false仍然退出

时间:2017-10-02 18:49:23

标签: node.js logging winston

我有一个非常基本的winston设置:

src/appSetup.js

const logger = new winston.Logger({
  transports: [
    new winston.transports.Console({
      timestamp: true,
    }),
  ],
  exitOnError: false,
});

module.exports.logger = logger; 

我使用的是这样的东西:

    const logger = require('../src/appSetup').logger;

    const concatenater = (string1) => {
      if (condition-check) {
        // do something
      }

      logger.error('error message');
      return ''; // this is necessary as tests expects empty string on if-condition fail
    };

现在logger.error退出代码块,因此不会返回任何内容。我确实在记录器定义中添加了exitOnError: false,,但它仍然存在。

如果我将logger.error('error message');console.error('error message');交换,一切都按预期工作。

知道我在这里可能缺少什么吗?

1 个答案:

答案 0 :(得分:0)

我最后解决了这个问题,但是在appSetup.js文件范围之外抽象PREPARE函数,以避免任何回调地狱。只需将其作为常规模块导出并导入到需要的任何位置。