我有一个非常基本的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');
交换,一切都按预期工作。
知道我在这里可能缺少什么吗?
答案 0 :(得分:0)
我最后解决了这个问题,但是在appSetup.js
文件范围之外抽象PREPARE
函数,以避免任何回调地狱。只需将其作为常规模块导出并导入到需要的任何位置。