Node.js 在节点JS中不使用process.stdout.write输出日志的方法?
因此,我尝试将两个基于节点的js脚本通过管道连接在一起,这样做就像预期的那样 本质上Node.js 在节点JS中不使用process.stdout.write输出日志的方法?,node.js,Node.js,因此,我尝试将两个基于节点的js脚本通过管道连接在一起,这样做就像预期的那样 本质上 $/a.js |/b.js 只要输出到下一个脚本的唯一内容是有效的JSON(例如),管道就可以正常工作。但是我希望在第一个脚本中看到一些调试日志(理想情况下不使用流行的调试模块)。有趣的是,我知道调试模块不会将不需要的数据发送到管道。它是怎么做到的?我不想深入研究他们的代码(懒惰) 似乎console.log和console.error都使用process.stdout/err,所以如果我注销了某些内容,我最
$/a.js |/b.js
只要输出到下一个脚本的唯一内容是有效的JSON(例如),管道就可以正常工作。但是我希望在第一个脚本中看到一些调试日志(理想情况下不使用流行的调试模块)。有趣的是,我知道调试模块不会将不需要的数据发送到管道。它是怎么做到的?我不想深入研究他们的代码(懒惰)
似乎console.log和console.error都使用process.stdout/err,所以如果我注销了某些内容,我最终会弄脏管道
有没有办法使用不同的tty插座或其他东西?不知道从哪里开始。在npm上看起来像:
默认情况下,调试将记录到stderr
debug对node执行此操作:啊,我的错误,我使用了带两个参数的stderr.write。是的,诀窍是使用带一个字符串参数和一个新行的stderr。谢谢
/**
* Invokes `util.format()` with the specified arguments and writes to stderr.
*/
function log(...args) {
return process.stderr.write(util.format(...args) + '\n');
}