Подтвердить что ты не робот

Вход в Ruby on Rails в режиме производства

Я хотел бы просмотреть некоторые переменные в контроллере, он попробовал следующее:

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

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

Где я могу увидеть результат для Logger или Puts в режиме производства? Нужно ли мне установить что-то, чтобы их где-то просмотреть?

4b9b3361

Ответ 1

Нормальный уровень журнала в производстве info, поэтому debug журналы не отображаются.
Измените регистрацию на

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

чтобы показать его в production.log.

Альтернативно (но не очень хорошая идея) вы можете повысить уровень ведения журнала в /config/environments/production.rb:

config.log_level = :debug

Обновить Rails 4.2:

Теперь уровень отладки по умолчанию во всех средах :debug (как упоминалось в @nabilh).
Если вы хотите, чтобы ваша производственная среда была меньше, вы можете reset уровень вашего журнала в /config/environments/production.rb до прежнего :info:

config.log_level = :info

Ответ 2

Хотя я верю, что @martin-m прав, что вы, вероятно, не хотите загромождать свои журналы, используя config.log_level = :debug в /config/environments/production.rb, я считаю, что уровень ведения журнала по умолчанию во всех средах debug по сравнению с Rails 4.2, Таким образом, debug logs (и все уровни вверх) будут показаны в производстве, если вы не укажете иначе.

Итак, в ответ на ваш вопрос вы теперь можете написать:

Rails.logger.debug "Year: #{Time.now.year}" и посмотреть результаты в /log/production.log.

Подробнее см. здесь. Здесь приведена документация для Rails 4.1 для сравнения.