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

Планировщик уведомлений об исключениях Rails - отправьте электронное письмо по электронной почте

Я использую плагин Rails exception_notification в своем приложении и считаю его очень полезным.

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

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

4b9b3361

Ответ 1

Я понял, как это сделать. Вот код, который вы бы поставили в контроллер для запуска электронной почты.

Для Rails 2.3 версии плагина Exception_Notification:

begin
    10 / 0
rescue Exception => e
    ExceptionNotifier.deliver_exception_notification(e, self, request)
end

Для Rails 3 версии плагина Exception_Notification:

begin
    10 / 0
rescue Exception => e
    ExceptionNotifier::Notifier.exception_notification(request.env, e).deliver
end

Для версия Rails 4 (в настоящее время v4.0.1 драгоценного камня exception_notification):

begin
  some code...
rescue => e
  ExceptionNotifier.notify_exception(e)
  ExceptionNotifier.notify_exception(e, env: request.env, data: { message: "oops" })
end

Ответ 2

Notification Notifier специально разработан для обнаружения непонятных ошибок. После того, как вы поймаете ошибку, вы можете отправить сообщение электронной почты самостоятельно. Быстрый и грязный способ заключается в том, чтобы вызвать код исключения, когда вы поймаете исключение. Я не могу вспомнить, как метод от верхней части головы, но быстрый взгляд в плагине должен дать вам результаты. Посмотрите на render_exception_in_public (или что-то в этом роде) для почтового кода.