2013-02-26 83 views
2

第一計算器的問題!我試圖捕獲node.js服務器的所有console.log()輸出。假設我是一個Linux機器上和我不能編輯服務器的代碼,(項目負責人的要求)。不過,我可以改變我如何啓動服務器(節點--debug server.js),我可以附加shell腳本。我的意圖是將控制檯輸出傳送到另一個socket.io服務器。捕捉node.js的控制檯輸出與出編輯服務器代碼

我想到的唯一明顯的解決方案是要麼寫一個linux命令到服務器的管道輸出到的東西或者node.js中有一個棘手的--debug方法輸出的信息。

最終的結果,我希望能夠運行服務器和管道控制檯輸出到一個API測試服務器。通過這種方式,測試人員將能夠看到,流媒體服務器的相關輸出,以JSON從API端點對象的響應。

謝謝你,我很想聽聽您的解決方案......

回答

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 
+0

這是超級快,謝謝主席先生! – mclenithan 2013-02-27 00:22:28

+0

這是真棒,我不知道這是可能的。 'send-logs-to-somewhere.js'只是在監聽輸入? – Rudie 2013-02-27 00:51:08

+0

是啊,它的作品非常漂亮。我打開一個socket.io連接,打開stdin,讓魔術發生。 – mclenithan 2013-02-27 03:47:12