Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Windows上刷新console.log输出_Windows_Node.js_Logging_Console - Fatal编程技术网

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

如何在Windows上刷新console.log输出,windows,node.js,logging,console,Windows,Node.js,Logging,Console,我有一个Node.js程序,它有一个很长的进程和一些内部日志记录: console.log(msg) 当我在Windows Node.js上运行时,消息不会实时显示-我在同一时间收到大量消息 当我使用“console.warn”而不是“console.log”时,消息显示得更早,但仍然不是实时的 有没有办法告诉Node.js在每条日志消息之后自动刷新控制台缓冲区?事实证明,console.log在Windows中是异步的。在linux/unix中,它是阻塞的,因此它不需要缓冲和刷新,将控制台.

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

console.log(msg)
当我在Windows Node.js上运行时,消息不会实时显示-我在同一时间收到大量消息

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


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

事实证明,
console.log
在Windows中是异步的。在linux/unix中,它是阻塞的,因此它不需要缓冲和刷新,将
控制台.logs
放在事件队列上

一种选择可能是


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

在Linux下,这也是一个问题,未经处理的异常可能导致程序在所有输出可见之前终止,因此您看不到最近调试的
console.log()
语句中的内容。