我正在测试一个使用rails构建的应用程序,并不时发现错误
当它发生时,会发生ActionView :: TemplateError并记录在log / production.log
中我如何抓住它和f.ex.每当它发生在应用程序的某个地方时,都会通过电子邮件发送给自己?
最好的方法是什么?
f.ex。在ApplicationController中使用某种before_filter?
代码将是,我想象
before_filter :app_error_catch
def app_error_catch
begin
rescue ActionView::TemplateError
Mailer.deliver_apperror(errormessage)
end
end
接近真相吗? 以及如何获得“errormessage”?
谢谢
答案 0 :(得分:2)
你看过[exception_notifier][1]
还是hoptoad? exception_notifier是一个插件,它将发送一个异常的电子邮件,并带有回溯。
Hoptoad是一个收集有关您的应用程序异常的信息的网站。
答案 1 :(得分:1)
您不必自己编写 - 有为此而构建的插件。正如flyfishr64所建议的那样,exception_notifier被广泛使用。
完成以下(简称)screencast,看看您最喜欢哪种解决方案。
答案 2 :(得分:1)
沿着flyfishr64's answer的路线,还有可爱的Exceptional
答案 3 :(得分:1)
您可以使用多种工具/服务。
第三方服务:
<强>插件:强>
自定义强>
您可以使用rescue_from和rescue_action_in_public方法轻松集成自定义功能。