在 rails 生产环境中过滤错误报告
Filtering error reports in rails production environment
应用程序通过电子邮件发出通知,如在 `environments/production.rb' 中的设置:
Rails.application.config.middleware.use ExceptionNotification::Rack,
:email => {
:email_prefix => "[error] - ",
:sender_address => %{"notifier" no-reply@domain.ws},
:exception_recipients => %w{notifications@domain4.us}
}
所有探测应用程序的不良行为者都会生成 404 错误(包括 google 和 'A=0
string),这反过来会生成通知总的来说噪音污染。 (阻止 ips 没有意义,我们刚刚观察到来自 12 个不同 ip 地址的具有相同字符串的一系列探测...)
启用 i18n 并将语言环境添加到 URL 的意外副作用意味着所有这些错误都是同一类型 some_darned_string "is not a valid locale"
。处理 404 错误在性能方面是可以接受的,相对于让不良行为者蒙在鼓里。
然而问题是,当邮件内容包含字符串 is not a valid locale
.
时,我们如何有条件地过滤 ExceptionNotification::Rack 不发送邮件
您可以将自定义例外添加到忽略列表
还有一些有用的选项,例如 ignore_crawlers
或 ignore_if
,可让您根据内容过滤异常
应用程序通过电子邮件发出通知,如在 `environments/production.rb' 中的设置:
Rails.application.config.middleware.use ExceptionNotification::Rack,
:email => {
:email_prefix => "[error] - ",
:sender_address => %{"notifier" no-reply@domain.ws},
:exception_recipients => %w{notifications@domain4.us}
}
所有探测应用程序的不良行为者都会生成 404 错误(包括 google 和 'A=0
string),这反过来会生成通知总的来说噪音污染。 (阻止 ips 没有意义,我们刚刚观察到来自 12 个不同 ip 地址的具有相同字符串的一系列探测...)
启用 i18n 并将语言环境添加到 URL 的意外副作用意味着所有这些错误都是同一类型 some_darned_string "is not a valid locale"
。处理 404 错误在性能方面是可以接受的,相对于让不良行为者蒙在鼓里。
然而问题是,当邮件内容包含字符串 is not a valid locale
.
您可以将自定义例外添加到忽略列表
还有一些有用的选项,例如 ignore_crawlers
或 ignore_if
,可让您根据内容过滤异常