2

我正在像这样使用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'].

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

另外,我确实想在开发中提出异常-我只是不希望它们被发送到空气制动..

4

2 回答 2

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
  ...
于 2013-01-26T14:05:41.560 回答
1

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

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

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

于 2013-01-26T14:21:40.427 回答