Как увеличить детализацию журнала Heroku, включив в нее все детали приложения Rails? - PullRequest
7 голосов
/ 07 ноября 2011

В настоящее время я запускаю приложение Rails 3.1.x поверх Heroku Celadon Cedar, и мне кажется, что многословия журнала очень не хватает. Я установил уровень журнала DEBUG а-ля heroku config:add LOG_LEVEL=DEBUG --app app_name, который соответствовал их рекомендациям, однако, помимо этого, я не могу вытащить содержимое файла log / *.

Переход от Тонкого к Единорогу немного увеличил многословие, но только в запросах веб-работника. Я до сих пор не могу вывести запросы БД и так далее.

Каков наилучший способ максимизировать многословность бревна с помощью механизма «слива» Герою, чтобы можно было вытянуть все журналы экземпляров в один связный бревно?

(В идеале я хотел бы включить метод для выгрузки этого на один из моих собственных серверов журналов, так как это просто боль, потому что тыл не в состоянии легко смотреть на определенные события и окружающие условия во времени.)

Ответы [ 2 ]

12 голосов
/ 10 ноября 2011

В staging.rb, production.rb или в любой другой среде, в которой вы работаете, вы можете вставить следующее:

STDOUT.sync = true

logger = Logger.new(STDOUT)
logger.level = 0 # Must be numeric here - 0 :debug, 1 :info, 2 :warn, 3 :error, and 4 :fatal
# NOTE:   with 0 you're going to get all DB calls, etc.

Rails.logger = Rails.application.config.logger = logger

### NOTE: Be sure to comment out these:
#   See everything in the log (default is :info)
#   config.log_level = :debug  # Commented out as per Chris' instructions from Heroku

#   Use a different logger for distributed setups
#   config.logger = SyslogLogger.new
0 голосов
/ 07 ноября 2011

Я думаю, что объект журнала ActiveRecord отправляет все журналы SQL-запросов с уровнем серьезности DEBUG.Возможно, вам придется настроить уровень журналов Rails.logger, чтобы они тоже появлялись в рабочей среде.

Поскольку вы заинтересованы в выводе всех журналов Rails и Heroku во внешнюю службу, я могу предложить вам попробовать ProgstrLogger бесплатное дополнение.(Отказ от ответственности, я работаю на Progstr).Надстройка имеет гем Ruby, который будет собирать все журналы Rails (все, что обычно заканчивается в log / *).Также будет настроен прием журналов, который будет получать все журналы Heroku системного уровня.Кроме того, вы получаете отличный веб-интерфейс, который позволяет легко выполнять поиск журналов и некоторые другие полезные функции.

...