2014-06-19 25 views
0

我正在嘗試使用Ruby實時將某些輸出記錄到文件中。我希望能夠在日誌文件上做一個tail -f,並觀察輸出結果。目前,只有當我停止ruby腳本時纔會寫入文件。我試圖做的事似乎很簡單。Ruby實時登錄

創建日誌文件

log = File.open(logFileName, "a") 

後來我用寫它:

log.puts "#{variable}" 

再次,日誌文件被創建和正確的條目在它但只有一次,我已經停止了腳本從運行。我需要尾日誌文件並實時查看。

在此先感謝!

回答

2

通常文件輸入和輸出被緩衝到一定程度。您可以通過翻轉標誌禁用此行爲:

log.sync = true 

這迫使每個寫後flush操作禁用緩衝。啓用該功能後,程序tail -f可以實時讀取數據。