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