【发布时间】:2015-06-29 08:46:06
【问题描述】:
有没有办法将 Airbrake 与纯 Ruby 项目(不是 rails 或 sinatra)集成,以便报告意外错误?我已经设置好了,我可以通过调用 Airbrake.notify_or_ignore 并传入异常来捕获错误,但是如果不显式调用它,我无法让它报告错误。
以下代码适用于显式调用 Airbrake.notify,但不适用于在未显式调用 notify 的情况下向 Airbrake 发送错误:
require 'airbrake'
Airbrake.configure do |config|
config.api_key = ENV['AIRBRAKE_API_KEY']
config.development_environments = []
config.ignore_only = []
end
我尝试使用以下代码将 Rack 添加为中间件:
require 'rack'
require 'airbrake'
Airbrake.configure do |config|
config.api_key = ENV['AIRBRAKE_API_KEY']
config.development_environments = []
config.ignore_only = []
end
app = Rack::Builder.app do
run lambda { |env| raise "Rack down" }
end
use Airbrake::Rack
run app
但我得到一个“未定义的方法‘使用’用于 main:Object (NoMethodError)”
有什么想法吗?
【问题讨论】:
-
我花了 30 秒才找到在普通 ruby 中使用 Airbrake 的示例:help.airbrake.io/kb/api-2/v2-api-projects-and-groups
-
上面的 sn-p 是用于 Rack 应用的。 Airbrake 有一个关于如何将它与普通 ruby 一起使用的 wiki 页面:github.com/airbrake/airbrake/wiki/…