console.log和process._rawDebug之间的区别

问题描述:

console.logprocess._rawDebug有什么区别?console.log和process._rawDebug之间的区别

answer告诉我,console.log实际上调用process.stdout.write与格式和一个新的一行在最后。据此articleprocess._rawDebug也写入终端,但使用process.stderr。不过,我不确定这篇文章有多可靠。

我使用console.logprocess._rawDebug向控制台记录了10.000条消息(用于测试目的)。后者至少有两倍的速度,这应该是我猜想的。

使用console.logprocess._rawDebug有什么不利(优点)吗?哪一个更好/更安全地用于记录小消息?

我在Github上的Node 0.x存档库中找到了答案。提交信息描述:

,当我们需要推动一些调试消息传递到 标准错误,不通过可写类去,或引发任何nextTick或回调行为 这是有用的。

它之所以更快是因为它完全绕过了JavaScript并将输出直接记录到终端。