2012-03-19 83 views
0

這似乎基本夠用了,但我似乎無法讓它工作。如何獲取管道標準輸出到Nodejs文件的基本設置?

var access = require('fs').createWriteStream('logs/test.access.log', { flags : 'a' }); 

process.stdout.pipe(access); 

我假設當我用做這之後的console.log(),那不是消息被寫入test.access.log?我沒有得到任何錯誤,但我根本沒有在文件中得到任何東西,所以我想知道是否有人可以幫助我理解流並從標準輸出寫入像上面這樣的日誌文件。

謝謝!

+0

你只是使用節點?沒有框架? – s84 2012-03-19 19:51:47

+0

沒有框架,只是節點。我想得到一個非常基本的例子,所以我理解它,然後從那裏,如果需要很好,我會看着像winston這樣的記錄員來幫忙。 – jimlamiell 2012-03-19 19:53:37

+0

http://stackoverflow.com/questions/2496710/nodejs-write-to-file – s84 2012-03-19 19:55:41

回答

0

很可能,您的Node.js應用程序在將流緩衝區刷新到磁盤之前關閉。這可能是因爲你將進程自己的標準輸出傳輸到一個文件中,並且標準輸出通常不會關閉並在之後刷新,直到 Node.js開始清理進程。

嘗試將access.destroySoon();粘貼到代碼的末尾,查看是否導致它在結束Javascript事件循環之前將數據刷新到磁盤。

相關問題