2013-05-29 78 views
28

我想觀看在控制器一些變量,它試圖執行以下操作:記錄在Ruby on Rails的在生產模式

Rails.logger.debug "Year: #{Time.now.year}"

puts "Year: #{Time.now.year}, Month: #{@month}"

在哪裏可以看到輸出爲記錄器或放在在生產模式?我是否需要在某處設置某些內容以查看這些內容?

回答

79

生產中的正常日誌級別爲info,因此debug日誌未顯示。
日誌記錄更改爲

Rails.logger.info "Year: #{Time.now.year}" 

來顯示它在production.log

或者(但不是一個好主意),可以提高在/config/environments/production.rb日誌記錄級別:

config.log_level = :debug 

更新的Rails 4.2:

現在在所有環境中的缺省調試級別爲:debug(如@ nabilh提到)。
如果你想你的生產環境少chattery,您可以在/config/environments/production.rb重置您的日誌級別前:info

config.log_level = :info 
6

雖然我相信@馬丁米是正確的,你可能不想搞亂你日誌使用/config/environments/production.rb中的config.log_level = :debug,我相信全部環境中的默認日誌記錄級別是從Rails 4.2開始的debug。因此debug日誌(以及所有級別)將在生產中顯示,除非您另行指定。

因此,在針對您的問題,你可以寫信:

Rails.logger.debug "Year: #{Time.now.year}"並查看/log/production.log結果。

有關更詳細的文檔,請參閱hereHere是Rails 4.1的比較文檔。