【问题标题】:Can't adapt the airbrake gem to a Sinatra app无法使 airbrake gem 适应 Sinatra 应用程序
【发布时间】:2013-01-10 05:26:30
【问题描述】:

我正在像这样使用 airbrake gem:

require 'airbrake'

Airbrake.configure do |config|
  config.api_key = 'XXXXX'
  config.development_environments = ["development", "test", "cucumber"]
end

use Airbrake::Rack
enable :raise_errors

但它仍在开发中发送空气制动通知。

我的环境保存在ENV['RACK_ENV']

我不想破解这个问题,有“外部”解决方案吗?

另外,我确实想在开发中引发异常 - 我只是不希望它们被发送到 airbrake..

【问题讨论】:

    标签: ruby rubygems sinatra airbrake


    【解决方案1】:

    @matt 的回答应该很好用,但是如果您想在设置中间件时在 rackup 文件中而不是在 Sinatra 应用程序中执行此操作,您可以这样做:

    use Airbrake::Rack if ENV['RACK_ENV'] == "production"
    

    我经常用中间件来做这件事。

    【讨论】:

      【解决方案2】:

      您可以使用 configure 块仅在生产中设置 Airbrake:

      configure :production do
        require 'airbrake'
      
        Airbrake.configure do |config|
          config.api_key = 'XXXXX'
        end
      
        use Airbrake::Rack
      end
      

      如果您希望在多个环境中启用 Airbrake,您可以指定一个列表,例如:

      configure :production, :staging do
        ...
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-05-10
        • 1970-01-01
        • 1970-01-01
        • 2012-06-28
        • 2021-03-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多