异常通知 - 如何在开发中关闭。模式

时间:2011-02-13 21:37:25

标签: ruby-on-rails ruby

到目前为止,我一直很高兴使用异常通知,并且在开发模式下运行时从未发送过电子邮件。现在,宝石似乎想在发生异常时向我发送电子邮件 - 特别是路由错误。是否有一些配置设置我不见了? dox似乎已经干涸并且被吹走了。

3 个答案:

答案 0 :(得分:6)

假设您有一个初始化程序来设置您的配置,只需将其包装在条件中以检查它是否处于生产模式:

if Rails.env.production?
  Whatever::Application.config.middleware.use ExceptionNotifier,
    :email_prefix => "[Whatever] ",
    :sender_address => %{"notifier" <notifier@example.com>},
    :exception_recipients => %w{exceptions@example.com}
end

答案 1 :(得分:2)

第1部分:在config / environments / environment_name.rb文件中为ExceptionNotifier设置不同的配置。例如,在config / environments / development.rb中,使用类似这样的内容将通知发送到其他地方或黑洞:

  YourApp::Application.configure do
    <other stuff>
    config.middleware.use ExceptionNotifier,
      :email_prefix => "[YourApp - DEVELOPMENT:#{`hostname`}] ",
      :sender_address => %{"notifier" <notifier@#{`hostname`}>},
      :exception_recipients => %w{<some_bitbucket_email_address>}
  end

这样,您的ExceptionNotifier仍然在所有环境中配置。如果未配置,则直接调用

 ExceptionNotifier::Notifier.background_exception_notification(e).deliver

会抛出异常,这可能是救援区内不受欢迎的行为。

第2部分:尝试设置此配置参数:

config.consider_all_requests_local = true

我从相反的问题中选择了这个:Exception notifier plugin not sending emails

答案 2 :(得分:-1)

Rails 3

最好在生产环境中编写配置,看看我的考试

APP::Application.configure do
...
..
.
config.middleware.use ExceptionNotifier,
                   :email_prefix => "[Error] ",
                   :sender_address => %{"Notificacion de error" <notifier@example.com>},
                   :exception_recipients => %w{addres1@email.com}