到目前为止,我一直很高兴使用异常通知,并且在开发模式下运行时从未发送过电子邮件。现在,宝石似乎想在发生异常时向我发送电子邮件 - 特别是路由错误。是否有一些配置设置我不见了? dox似乎已经干涸并且被吹走了。
答案 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)
最好在生产环境中编写配置,看看我的考试
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}