Raven for Ruby是Sentry错误报告API的客户端和集成层。它支持Ruby 1.9.3和2.x.提供JRuby支持但是实验性的。
一、安装
Raven Ruby作为一个宝石而且很容易安装。如果您正在使用Bundler,只需将其添加到您的Gemfile:
gem "sentry-raven"
二、配置
要使用Raven Ruby,您只需要DSN即可。像大多数Sentry库一样,它将遵循SENTRY_DSN环境变量。您可以在API密钥下的项目设置页面上找到它。您可以将其导出为环境变量,也可以使用Raven.configure手动配置它:
Raven.configure do |config|
config.dsn = 'https://<key>:<secret>@sentry.io/<project>'
end
三、上报错误
如果你使用Rails,Rake,Sidekiq等,你已经完成了 - 不再需要配置了!检查集成以获取有关Sentry自动集成的其他宝石的更多详细信息。
机架需要更多设置:机架(Sinatra等)
否则,Raven支持两种捕获异常的方法:
Raven.capture do
# capture any exceptions which happen during execution of this block
1 / 0
end
begin
1 / 0
rescue ZeroDivisionError => exception
Raven.capture_exception(exception)
end
四、附加上下文
Sentry的许多有用性来自于事件的附加上下文数据。 Raven Ruby通过提供设置线程本地上下文数据的方法使这非常方便,然后自动提交所有事件。
提供请求上下文有三种主要方法:
# bind the logged in user
Raven.user_context email: 'foo@example.com'
# tag the request with something interesting
Raven.tags_context interesting: 'yes'
# provide a bit of additional context
Raven.extra_context happiness: 'very'
五、详细介绍
详细介绍请看Ruby集成Sentry的其他文章。