Уведомление об исключении Rails - добавить в базу данных

На нашем сервере настроено средство уведомления об исключениях, хотя мы хотели бы создать резервную копию, если сервер электронной почты не работает, что позволило бы регистрировать исключения в базе данных.

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

Или... есть ли драгоценный камень, который уже отправляет электронные письма и регистрируется в базе данных для исключений?

1 ответ

Ваша лучшая ставка, используя Уведомление об Исключении, должна была бы использовать rescue_from в вашем ApplicationController ищите все исключения, а затем заморачивайтесь и ведите запись в Exception Notifier вручную.

Пример:

class ApplicationController < ActionController::Base
  rescue_from Exception, :with => :log_and_notify

  def log_and_notify(error)
    # Save to the DB

    # This manual call example is straight from the Exception Notifier github page.
    ExceptionNotifier::Notifier.exception_notification(request.env, exception, :data => {:message => "was doing something wrong"}).deliver
  end
end

Поэтому, если контроллер получит ошибку во время одного из своих действий, он перейдет к этому методу, и вы можете сохранить его в БД перед доставкой электронной почты.

Другие вопросы по тегам