Уведомление об исключении 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
Поэтому, если контроллер получит ошибку во время одного из своих действий, он перейдет к этому методу, и вы можете сохранить его в БД перед доставкой электронной почты.