Ответ 1
Подробности здесь: http://devcenter.heroku.com/articles/logging
Также убедитесь, что вы установили правильный уровень ведения журнала для своего приложения Rails: http://blog.sethladd.com/2005/11/adjust-log-level-in-ruby-on-rails.html
Я создаю приложение с Heroku и имею некоторые проблемы. Я хочу отлаживать некоторый контент, как я делаю с сервером rails:
logger.debug '...'
Как я могу сделать это в Heroku, так что я могу увидеть отладку в журналах heroku? (или что-то еще..)
Спасибо!
Подробности здесь: http://devcenter.heroku.com/articles/logging
Также убедитесь, что вы установили правильный уровень ведения журнала для своего приложения Rails: http://blog.sethladd.com/2005/11/adjust-log-level-in-ruby-on-rails.html
Стек кедра в Heroku, похоже, не реагирует на переменную config (env) LOG_LEVEL, которая работает для предыдущих стеков (я использую расширенный аддон logging: расширенный). Я попытался установить LOG_LEVEL как debug
, так и debug
без успеха.
Только установив config.log_level = :debug
в config/environment/production.rb am, я могу видеть вывод "logger.debug".
Борьба с этим в течение долгого времени, решение было приятным и простым:
Установите в production.rb вместо
config.log_level = :debug
Место:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG
и вы получите полный вывод журнала.
heroku logs
в командной строке дадут вам журналы для текущего приложения. Если вы включили расширенное ведение журнала, вы можете вывести этот вывод
Используя Rails 3.2, мы сделали это настраиваемым, изменив config/environment/{environment}.rb, чтобы диск из переменной среды:
config.log_level = ENV["LOG_LEVEL"].to_sym if ENV["LOG_LEVEL"]
Затем мы можем изменить конфигурационную переменную Heroku, чтобы изменить ее:
heroku config:set LOG_LEVEL=debug --app <app name>
Это позволяет нам легко записывать более или менее по мере необходимости.
Это сработало для меня:
heroku config:set LOG_LEVEL=debug
Чтобы записать в ваши журналы на Heroku, вместо использования logger.debug "..."
просто используйте puts
:
puts "..."
Вам даже не нужно устанавливать параметр config.log_level
в config/environments/production.rb
.
config.log_level = ENV['APP_LOG_LEVEL'] ? ENV['APP_LOG_LEVEL'].to_sym : :error