温斯顿记录和setTimeout

时间:2018-11-27 23:50:47

标签: javascript node.js winston

我知道Winston日志记录是异步的,并且在进行日志记录时会执行process.exit(1),因此原因是日志文件中不存在任何内容。但是,当我用setTimeout抛出新的错误时,Winston现在可以输出到日志文件了。

我的问题是setTimeout如何影响未捕获的异常回调中的两行,从而使winston现在能够完成对文件的记录,然后进程退出。

 module.exports =  () => {
    winston.add(new winston.transports.File({filename : 'server.log'}));

    /*Handle uncaught exception */
    process.on('uncaughtException',ex => {
        winston.error(ex.stack);
        process.exit(1);
    });

    setTimeout(()=> {throw new Error('Error made') },2000);

0 个答案:

没有答案