Сведения об устранении неполадок Heroku - PullRequest
1 голос
/ 26 июля 2011

Я пытаюсь отладить приложение Heroku.У меня проблемы с локальными Rails, поэтому я использую Heroku для отладки.Я получаю ответ HTTP 500 на некоторые из моих запросов POST, и единственное, что Heroku желает сообщить мне:

$ heroku logs
... lots of other stuff ...
POST app.heroku.com/games dyno=web.1 queue=0 wait=0ms service=36ms status=500 bytes=0

Как я могу получить больше информации об ошибке на моем сервере, чем эта?

Ответы [ 2 ]

2 голосов
/ 26 июля 2011

Вам известно о протоколировании Heroku ? В вашем локальном каталоге приложений:

$ heroku logs

Вы также можете попробовать расширенное ведение журнала

$ heroku addons:upgrade logging:expanded
$ heroku logs --tail
0 голосов
/ 28 октября 2011

Вы можете отлавливать ошибки сервера в Rails и регистрировать их.Самый простой способ сделать это - добавить предложение rescue_from в ваш контроллер.Это позволит вам определить метод, который будет вызываться, когда из вашего кода всплывет необработанное исключение.

rescue_from UserNotFoundError, :with => :user_not_found

def throw
  #Triggers a UserNotFound error
  @user = User.find(42)
end

def user_not_found(exception)
  Rails.logger.warn { "User not found\n#{exception.backtrace.join("\n\t")}" }

  @message = "Exception logged."
  render :errors
end

Для бонусных баллов вы можете добавить его в базовый класс ApplicationController.* Я работаю над Progstr Logger , бесплатным дополнением Heroku, которое облегчает хранение и поиск в журналах.У нас также есть онлайн-пример , который делает то же самое для отлова ошибок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...