Планировщик уведомлений об исключениях Rails - отправьте электронное письмо по электронной почте
Я использую плагин Rails exception_notification в своем приложении и считаю его очень полезным.
Однако есть случаи, когда я хочу поймать исключение и обработать его изящно, но все равно хотел бы получить электронное письмо с уведомлением об исключении. Похоже, что это посылает только для исключенных исключений.
Кто-нибудь знает, как заставить отправить сообщение по электронной почте, когда вы уже поймали исключение?
Ответы
Ответ 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 (или что-то в этом роде) для почтового кода.