我们在服务器上设置了异常通知程序,但是如果电子邮件服务器关闭,则需要备份解决方案,这样我们就可以在数据库中记录异常。
异常通知程序如何监听每个方法调用,我也能听吗?
或..是否有一个gem已经同时发送电子邮件并记录到数据库中以获取异常?
答案 0 :(得分:2)
使用异常通知程序,最好的办法是在rescue_from
中使用ApplicationController
查找所有异常,然后执行日志记录和手动调用异常通知程序。
示例:
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
因此,如果控制器在其中一个操作期间出现错误,它将转到此方法,您可以在发送电子邮件之前将其保存到数据库中。