如何在 Windows 上刷新 console.log 输出

Ere*_*evi 5 windows console logging node.js

我有一个 Node.js 程序,它的进程很长,并且有一些内部日志记录:

console.log(msg)
Run Code Online (Sandbox Code Playgroud)

当我在 Windows Node.js 上运行时,该消息不会实时显示 - 我在同一时间收到大量消息。

当我使用“console.warn”而不是“console.log”时,消息会更早显示,但仍然不是实时的。

有没有办法告诉 Node.js 在每条日志消息后自动刷新控制台缓冲区?

dmh*_*000 2

事实证明,console.logWindows 中是异步的。在 linux/unix 中它是阻塞的,因此它不会缓冲并且需要刷新,将您的console.logs事件放入事件队列中。

一种替代方案可能是process.stdout

编辑:好吧,这不是解决方案。其他人可能有更好的解决方案,但您可以使用更全面的日志记录库之一,或者使用更多信息填充 console.log,告诉您日志发生的时间和地点,以便您可以将它们关联起来。