使用exception_notification在发生异常时发送电子邮件

时间:2015-08-20 12:54:16

标签: ruby-on-rails ruby ruby-on-rails-3 exception-notification

我正在从rails 2.3迁移到rails 3.1,我正在尝试在生成异常时发送电子邮件。我正在使用exception_notification gem。

我的其余电子邮件正在发挥作用。但异常邮件不会被解雇。

下面是我的staging.rb文件中的设置。

C::Application.config.middleware.use ExceptionNotification::Rack,
  :email => {
    :email_prefix => "[#{Rails.env.to_s.upcase} Error] ",
    :sender_address => %{"Exception Notifier " <email_id>},
    :exception_recipients => %w{email_id}
  }

以下是application.rb中的代码

res.redirect( req.originalUrl.split("?").shift() );

我不确定为什么电子邮件没有触发,也没有看到任何错误。任何帮助都会受到关注,谢谢。

2 个答案:

答案 0 :(得分:4)

您需要像这样配置您的应用:

C::Application.config.middleware.use ExceptionNotification::Rack,
  :email_prefix => "[#{Rails.env.to_s.upcase} Error] ",
  :sender_address => %{"Exception Notifier " <email_id>},
  :exception_recipients => %w{email_id}

注意您在:email => {...}版本exception_notifier的配置中使用了过多的4声明(请参阅here)。但是,您无法使用4版本exception_notifier3.1

我在github https://github.com/dimakura/stackoverflow-projects/tree/master/32118817-exception-notification创建了一个存储库,这是一个工作示例。我使用了ruby 1.9.3,rails 3.1.12exception_notifier 3.0.1。我猜你使用相同的宝石或靠近它。

注意2 当我将email: {...}添加到配置中时,异常消息将停止到达。

答案 1 :(得分:1)

将gem配置代码移至environment.rb文件,而不是application.rb