温斯顿logging器exitOnError:false仍然退出

我有一个非常基本的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退出代码块,因此没有返回。 我在logging器定义中添加了exitOnError: false,但仍然退出。

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

任何想法,我可能会错过这里?

我最终解决了这个问题,但是抽象了appSetup.js文件范围之外的logger函数,以避免任何callback地狱。 只需将其作为常规模块导出,并随时随地导入。