仅在生产模式下的异常通知程序?

时间:2012-04-30 09:44:33

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

我使用异常通知程序来处理我的应用程序和/config/initializers/exception_notification.rb中的错误我有以下内容:

MyAPP::Application.config.middleware.use ExceptionNotifier,
  :email_prefix => "[ERROR] ",
  :sender_address => '"Notifier" <notifier@yourdomain.com>',
  :exception_recipients => ['account@gmail.com']

但是通知电子邮件也是在开发模式下发送的,如何才允许仅在生产模式下发送电子邮件?

1 个答案:

答案 0 :(得分:4)

您可以为每个环境单独配置ExceptionNotifier。 See also the documentation

  

从Rails 3开始,ExceptionNotification被用作机架中间件,所以   您可以在config.ru文件或   你希望它运行的环境。在大多数情况下,你会想要   ExceptionNotification在生产中运行。

因此,您只需在config/environments/production.rb中使用例如

进行配置即可
Whatever::Application.config.middleware.use ExceptionNotifier,
  :email_prefix => "[Whatever] ",
  :sender_address => %{"notifier" <notifier@example.com>},
  :exception_recipients => %w{exceptions@example.com}

还有a nice blog entry handling this topic