在node.js中捕获控制台输出,而不编辑服务器代码

Capturing console output in node.js with out editing server code

本文关键字:编辑 代码 服务器 输出 控制台 js node      更新时间:2023-09-26

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

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

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

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

通过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