2013-05-29 30 views
28

chciałbym zobaczyć kilka zmiennych w sterowniku, to próbowałem następujące:Rejestrowanie w Ruby on Rails w produkcji Tryb

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

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

gdzie mogę zobaczyć wyjście dla rejestratora lub oddaje w trybie produkcji? Czy muszę tak ustawić coś, żeby gdzieś je zobaczyć?

Odpowiedz

79

Normalny poziom rejestrowania w produkcji to info, dlatego logi debug nie są wyświetlane.
Zmień swoją rejestrację do

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

aby pokazać je w production.log.

Alternatywnie (ale nie jest to dobry pomysł) można podnieść poziom rejestrowania w /config/environments/production.rb:

config.log_level = :debug 

Aktualizacja Rails 4.2:

Teraz domyślny poziom debugowania we wszystkich środowiskach jest :debug (jak @nabilh wymienione).
Jeśli chcesz, środowisko produkcyjne mniej chattery można zresetować poziom dziennika w /config/environments/production.rb byłego :info:

config.log_level = :info 
6

Chociaż uważam @ martin-M jest w porządku, że prawdopodobnie nie chcesz zaśmiecać logów za pomocą config.log_level = :debug w /config/environments/production.rb, Wierzę, domyślny poziom rejestrowania w wszystkich środowisk jest debug od Rails 4.2. Tak więc, dzienniki (i wszystkie poziomy w górę) będą pokazywane w produkcji, chyba że postanowisz inaczej.

Więc w odpowiedzi na swoje pytanie, możesz napisać:

Rails.logger.debug "Year: #{Time.now.year}" i zobaczyć wyniki w /log/production.log.

Aby uzyskać bardziej szczegółową dokumentację, patrz here. Here jest dokumentacją dla Rails 4.1 dla porównania.