【问题标题】:How do I stop Routing Errors errors from causing all sorts of warning?如何阻止路由错误错误导致各种警告?
【发布时间】:2015-04-11 07:55:01
【问题描述】:
我在 Heroku 上的 Rails 4 应用程序(目前在 unicorn 上)通常不会出现太多错误,但会收到大量错误的 URL。每当输入错误的 URL 时,用户会看到我的 404 页面,并且在 Rails 中会引发 ActionController::RoutingError。这会作为错误报告给Rollbar 和 NewRelic,然后他们会发出警报。我不断收到来自 NewRelic 的有关所有这些“错误”的警报。如何防止路由错误被报告为错误?
(我尝试将 newrelic.yml 中的一行更改为 ignore_errors: ActionController::RoutingError,但没有帮助。)
【问题讨论】:
标签:
ruby-on-rails
ruby-on-rails-4
heroku
error-handling
newrelic
【解决方案1】:
如果您使用的是服务器端配置(在 New Relic 中的应用设置页面上确定),请确保 ActionController::RoutingError 包含在 Ignore these errors 字段中。
您也可以尝试在 Heroku 上设置环境变量以忽略此类错误。例如NEW_RELIC_ERROR_COLLECTOR_IGNORE_ERRORS="ActiveRecord::RecordNotFound, ActionController::RoutingError"
【解决方案2】:
由于另一个答案涉及 New Relic,Rollbar 中的解决方案是将以下行添加到 config/initializers/rollbar.rb 中(有关更多信息,请参阅该文件中的 cmets):
config.exception_level_filters.merge!('ActionController::RoutingError' => 'ignore')