2011-04-05 40 views
23

我試圖調試Rails的模型,所以我用這個代碼: logger.debug('asasd')logger.debug不寫入日誌文件中的Rails

不過,我尾礦日誌文件development.log但我沒有看到它添加到這個文件。

  1. 我確信這個模塊被運行
  2. 我已經證實,運行時錯誤記錄到這個文件,我看到他們時,我的尾巴。

我如何得到這個工作?

+0

您正在使用哪個版本的Rails? – 2012-04-09 16:15:23

回答

18

確保您已設置日誌級別的環境/ appropriate_env_file.rb調試:

config.log_level = :debug 

,並確保您根據您對運行環境的尾礦正確的日誌文件。

+1

謝謝。這沒有用。任何其他想法? – Justin 2011-04-05 23:42:27

+0

我發現這個問題相關http://stackoverflow.com/questions/9635527/no-log-messages-in-production-log - 至少有一個版本的軌道有一個已知的問題與此。 – benz001 2013-03-17 22:02:23

4

您可以嘗試在記錄器上調用flush來強制它寫入該文件。通常,這將每一個請求後發生:

logger.debug("asasd") 
logger.flush 

也有一個在Rails.logger實例本身的auto_flushing設置:

Rails.logger.auto_flushing = true 

這將使呼叫logger.flush不必要的,因爲Rails會自動刷新緩衝輸出寫入日誌文件。

+3

此外,'logger.flush'現在是一個棄用的,無操作的方法。 – Lambart 2013-11-13 21:54:28