我很好奇是否因为process.exit(1)处于异步的回调中 操作,appendFile,如果原始错误发生的地方将继续运行并处于不稳定状态。我试图将process.exit(1)与fs内联,但它不会写。
更好的方法来创建记录错误,将记录任何错误将不胜感激。
const fs = require('fs');
process.on('uncaughtException', e1 => {
fs.appendFile('./logs/error.log', e1.stack, e2 => {
//if (e1 || e2) console.log(e1,e2);
process.exit(1)
});
})
答案 0 :(得分:1)
按原样,看起来每次使用fs.appendFile
完成时,程序都会以错误代码退出到控制台。 process.exit
一旦遇到它就会杀死其他任何东西。
我可能会这样做:
const fs = require('fs');
process.on('uncaughtException', function (err) {
fs.appendFile('./logs/error.log', err.stack, (fserr) => {
if (err) console.log('FS ERROR', fserr); //now includes the fs error in log
console.log(err); //maybe include error from uncaughtException?
process.exit(1); //exit with error code
});
});