Вход в Ruby on Rails в режиме производства
Я хотел бы просмотреть некоторые переменные в контроллере, он попробовал следующее:
Rails.logger.debug "Year: #{Time.now.year}"
puts "Year: #{Time.now.year}, Month: #{@month}"
Где я могу увидеть результат для Logger или Puts в режиме производства? Нужно ли мне установить что-то, чтобы их где-то просмотреть?
Ответы
Ответ 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 для сравнения.