温斯顿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地狱。 只需将其作为常规模块导出,并随时随地导入。