当使用AirBrake或ExceptionNotifier等工具发送延迟的作业时,获取错误报告的正确方法是什么?
我试图创建自己的延迟作业类,但由Mailer.welcome()(或类似)创建的邮件对象未正确序列化.我也尝试error(job, exception)在PerformableMailer和PerformableMethod类中添加一个方法,但是我认为通常与序列化相关的错误更多.我为序列化尝试了psych和sych.
error-reporting delayed-job ruby-on-rails-3 airbrake exception-notifier
我想将exception_notification gem添加到我们的应用程序中,但是,当我尝试手动触发邮件时会发生这种情况:
exception
# => #<ZeroDivisionError: divided by 0>
ExceptionNotifier::Notifier.exception_notification(request.env, exception)
# => #<ActionMailer::Base::NullMail:0x007fa81bc7c610>
ExceptionNotifier::Notifier.background_exception_notification(exception)
# => #<ActionMailer::Base::NullMail:0x007fa81bf58190>
Run Code Online (Sandbox Code Playgroud)
在上面的示例中,在某个控制器中rescue_from Exception故意调用之后,控制台位于ApplicationController 内部的断点处1/0.
我也在使用delayed_job,但是 - 毫不奇怪 - ExceptionNotifier::Notifier.background_exception_notification(exception).deliver不会假装什么.
我已经设置config.consider_all_requests_local = false了开发,但仍然exception_notification实例化NullMail.在应用程序的其他部分,邮件工作正常并使用sendmail.
我在这里做错了什么想法?谢谢你的帮助!
ruby-on-rails ruby-on-rails-3 exception-notification exception-notifier
我exception_notifier在这之后安装了gem http://railscasts.com/episodes/104-exception-notifications-revised.但是在跑步的时候rails s,我得到了这个
/home/ruby-2.0.0-p195/gems/actionpack-3.2.13/lib/action_dispatch/middleware/stack.rb:43:in `build': undefined method `new' for ExceptionNotifier:Module (NoMethodError)
Run Code Online (Sandbox Code Playgroud)
所以我试图谷歌这个问题,我发现我可以在我的production.rb文件中使用config.middleware.use ExceptionNotifier::Rack...这个问题config.middleware.use ExceptionNotifier...
但后来我收到了这条消息:
uninitialized constant ExceptionNotifier::Rack (NameError)
Run Code Online (Sandbox Code Playgroud)
我该如何处理这个gem安装?