在没有编辑服务器代码的情况下捕获node.js中的控制台输出

时间:2013-02-26 23:59:58

标签: javascript linux node.js shell console

第一个stackoverflow问题!我试图从node.js服务器捕获所有console.log()输出。假设我在linux机器上并且我无法编辑服务器的代码,(项目负责人的请求)。但是我可以改变我启动服务器的方式(node --debug server.js),我可以附加shell脚本。我的目的是将控制台输出传递到另一个socket.io服务器。

我认为唯一明显的解决方案是将linux命令写入管道服务器的输出或者node.js有一个棘手的--debug方法来输出信息。

最终结果,我希望能够运行服务器并将控制台输出传递给API测试服务器。这样,测试人员就能够看到,流式传输服务器的输出与API端点的响应JSON对象相关联。

谢谢,我很想听听你的解决方案......

1 个答案:

答案 0 :(得分:2)

如果有人感兴趣的话,通过IRC回答:

<shesek> patrickm, can't you just pipe the output to another script?
<shesek> node server.js | node send-logs-to-somewhere.js
<shesek> patrickm, in send-logs-to-somewhere.js, you can just read from process.stdin
<patrickm> :)
<patrickm> thats easy