我正在使用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 ..
答案 0 :(得分: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
...
答案 1 :(得分:1)
@ matt的答案应该可以正常运行,但是如果你想在设置中间件而不是在Sinatra应用程序内部的架构文件中这样做,你可以这样做:
use Airbrake::Rack if ENV['RACK_ENV'] == "production"
我经常使用中间件来做这件事。