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

Отладка Heroku

Я создаю приложение с Heroku и имею некоторые проблемы. Я хочу отлаживать некоторый контент, как я делаю с сервером rails:

logger.debug '...'

Как я могу сделать это в Heroku, так что я могу увидеть отладку в журналах heroku? (или что-то еще..)

Спасибо!

4b9b3361

Ответ 2

Стек кедра в Heroku, похоже, не реагирует на переменную config (env) LOG_LEVEL, которая работает для предыдущих стеков (я использую расширенный аддон logging: расширенный). Я попытался установить LOG_LEVEL как debug, так и debug без успеха.

Только установив config.log_level = :debug в config/environment/production.rb am, я могу видеть вывод "logger.debug".

Ответ 3

Борьба с этим в течение долгого времени, решение было приятным и простым:

Установите в production.rb вместо

config.log_level = :debug

Место:

config.logger = Logger.new(STDOUT)
config.logger.level = Logger::DEBUG

и вы получите полный вывод журнала.

Ответ 4

heroku logs в командной строке дадут вам журналы для текущего приложения. Если вы включили расширенное ведение журнала, вы можете вывести этот вывод

Ответ 5

Используя 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>

Это позволяет нам легко записывать более или менее по мере необходимости.

Ответ 6

Это сработало для меня:

heroku config:set LOG_LEVEL=debug

Ответ 7

Чтобы записать в ваши журналы на Heroku, вместо использования logger.debug "..." просто используйте puts:

puts "..."

Вам даже не нужно устанавливать параметр config.log_level в config/environments/production.rb.

См. здесь документы.

Ответ 8

config.log_level = ENV['APP_LOG_LEVEL'] ? ENV['APP_LOG_LEVEL'].to_sym : :error