Ruby Rails 以正确的方式向 Rollbar 发送 500 个错误
Ruby on Rails sending 500 errors to Rollbar in a properly way
在我的 Rails 应用程序中,我正在从所有可能的错误中解救出来,因此可能有大约 500 个未正确发送到 Rollbar,我想修复它。我正在查看文档,但没有有意义的答案。
编辑:
更清楚地说,我有几种方法可以处理所有错误,但在一个地方我有这样的东西:
rescue_from :all do |error|
title = Rails.env.production? ? 'Error 500' : error.message
Rollbar.notify
render_jsonapi_errors(
title: title,
status: 500,
error: error
)
end
而且我认为我必须添加一些逻辑,因为在这种情况下我不会将此消息发送到 rollbar 因为这个 rescue_from :all
(我不能只删除它)。有没有类似 Rollbar.notify
的东西?
编辑2:
添加 Rollbar.notify
后,我没有看到该应用正在尝试连接到 Rollbar
来自 rails s
的输出
Started GET "/" for 127.0.0.1 at 2019-05-17 17:09:56 +0200
NameError - uninitialized constant ApplicationController::ActionVew:
app/controllers/application_controller.rb:4:in
<class:ApplicationController>'<br>
app/controllers/application_controller.rb:3:in
'
app/controllers/root_controller.rb:3:in `'
Started POST "/__better_errors/5b518f578013d9ea/variables" for
127.0.0.1 at 2019-05-17 17:09:56 +0200
better_errors gem(显示在您的输出中)在开发模式中吞没了错误。
这是一个 common-enough 问题,我们的 Honeybadger 文档中有一段专门针对它:https://docs.honeybadger.io/lib/ruby/support/troubleshooting.html#the-better_errors-gem-is-installed
在我的 Rails 应用程序中,我正在从所有可能的错误中解救出来,因此可能有大约 500 个未正确发送到 Rollbar,我想修复它。我正在查看文档,但没有有意义的答案。
编辑:
更清楚地说,我有几种方法可以处理所有错误,但在一个地方我有这样的东西:
rescue_from :all do |error|
title = Rails.env.production? ? 'Error 500' : error.message
Rollbar.notify
render_jsonapi_errors(
title: title,
status: 500,
error: error
)
end
而且我认为我必须添加一些逻辑,因为在这种情况下我不会将此消息发送到 rollbar 因为这个 rescue_from :all
(我不能只删除它)。有没有类似 Rollbar.notify
的东西?
编辑2:
添加 Rollbar.notify
后,我没有看到该应用正在尝试连接到 Rollbar
来自 rails s
Started GET "/" for 127.0.0.1 at 2019-05-17 17:09:56 +0200
NameError - uninitialized constant ApplicationController::ActionVew:
app/controllers/application_controller.rb:4:in<class:ApplicationController>'<br> app/controllers/application_controller.rb:3:in
'
app/controllers/root_controller.rb:3:in `'Started POST "/__better_errors/5b518f578013d9ea/variables" for 127.0.0.1 at 2019-05-17 17:09:56 +0200
better_errors gem(显示在您的输出中)在开发模式中吞没了错误。
这是一个 common-enough 问题,我们的 Honeybadger 文档中有一段专门针对它:https://docs.honeybadger.io/lib/ruby/support/troubleshooting.html#the-better_errors-gem-is-installed