2013-05-27 61 views

回答

0

默認情況下,Rails的記錄器做緩衝的生產不會打擊原木的IO子系統。它應該仍然刷新每個請求後的日誌後(或1000線,無論是第一位的)

您可以通過在初始化設置auto_flushing設置來控制此緩衝區:

Rails.logger.auto_flushing = 10 

這將記錄器設置爲在10個日誌行後沖洗。雖然您可以將其設置爲1,但在生產中這樣做可能不是一個非常好的主意。

+0

此代碼已棄用,發現此錯誤消息:ActiveSupport :: BufferedLogger#auto_flushing已棄用。可以像這樣在底層文件句柄上設置同步級別。或者調整你的文件系統。 FS緩存現在控制着沖洗。 – kambi

+0

我還是不知道該怎麼辦 – kambi

+0

好吧,然後調整你的文件系統。較新版本的Rails(可能> 3.2)只是發出一個'write'調用,最終寫入底層文件系統。發生這種情況取決於內核/文件系統。 –