问题描述
在Ruby on Rails应用程序中,我抢救了已知情况下的异常。在救援过程中,我的代码做了一些清理,然后继续进行而没有重新引发异常。
我想将异常的详细信息记录到SignalFx。我相信,如果无法挽救异常,这种情况会自动发生。但是在这种情况下,我需要营救它。
我们当前正在从New Relic迁移到SignalFx。在New Relic中,我可以强制将获救的异常记录如下:
rescue MySpecialError => ex
NewRelic::Agent.notice_error ex
record.clean_up_after_my_special_error()
这将记录堆栈跟踪,请求参数,环境变量等,就像没有抢救异常一样。
SignalFx是否有类似的方法来捕获丰富的异常信息而不引发异常?
解决方法
client = SignalFx.new 'MY_SIGNALFX_TOKEN'
client.send_event('EXCEPTION',... )
您可能要考虑使用更具针对性的错误报告服务。