我将节点作为 Windows 服务运行。该服务在启动时崩溃,因此我实现了一个日志系统,以发现当应用程序被迫退出时消息不会写入文件。我已经能够用下面的代码复制问题:
var fs = require('fs');
var logStream = fs.createWriteStream('./nx3.log');
logStream.end('Goodbye world');
process.exit(0);
没有任何内容写入 nx3.log,因为缓冲区不会刷新。我已经能够通过使用 fs.appendFileSync 解决这个问题,但我更愿意使用成熟的日志记录模块而不是自己滚动。
是否可以打开无缓冲的写入流?或者其他方式解决这个问题?