【问题标题】:How to flush console.log output on Windows如何在 Windows 上刷新 console.log 输出
【发布时间】:2015-04-09 08:27:21
【问题描述】:

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

console.log(msg)

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

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

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

【问题讨论】:

  • 这也是Linux下的问题,未处理的异常可能会导致程序在所有输出可见之前就终止了,所以你看不到你最近调试的console.log()语句的内容.

标签: windows node.js logging console


【解决方案1】:

原来console.log 在 Windows 中是异步的。在 linux/unix 中它是阻塞的,所以它没有缓冲并且需要刷新,将您的 console.logs 放在事件队列中。

另一种选择可能是process.stdout

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-04
    • 1970-01-01
    • 2020-08-17
    • 2016-01-15
    • 2012-11-09
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多