console.log和process._rawDebug之间的区别
问题描述:
console.log
和process._rawDebug
有什么区别?console.log和process._rawDebug之间的区别
这answer告诉我,console.log
实际上调用process.stdout.write
与格式和一个新的一行在最后。据此articleprocess._rawDebug
也写入终端,但使用process.stderr
。不过,我不确定这篇文章有多可靠。
我使用console.log
和process._rawDebug
向控制台记录了10.000条消息(用于测试目的)。后者至少有两倍的速度,这应该是我猜想的。
使用console.log
或process._rawDebug
有什么不利(优点)吗?哪一个更好/更安全地用于记录小消息?
答
我在Github上的Node 0.x存档库中找到了答案。提交信息描述:
,当我们需要推动一些调试消息传递到 标准错误,不通过可写类去,或引发任何nextTick或回调行为 这是有用的。
它之所以更快是因为它完全绕过了JavaScript并将输出直接记录到终端。