在我们的Rails应用程序中,我们拯救ApplicationController上的大多数异常以提供正确的API响应,但仍希望使用ErrorCollector跟踪发生的错误。有没有办法手动向NewRelic发送错误?
答案 0 :(得分:37)
根据我在New Relic代理中看到的内容,你可以做到
NewRelic::Agent.notice_error(exception, options)
我已经测试了这个,并在我的堆栈中运行
以下是控制器中的示例:
class ApplicationController < ActionController::Base
rescue_from ActiveRecord::RecordInvalid, with: :rescue_invalid_record
private
def rescue_invalid_record(exception)
NewRelic::Agent.notice_error(exception)
end
end
答案 1 :(得分:6)
不确定是否推荐使用方式,但这完美无缺:
NewRelic::Agent.agent.error_collector.notice_error( exception )
答案 2 :(得分:1)
API调用通知错误并增加错误指标的完整文档是这里的新Relic Ruby Agent API文档http://rdoc.info/github/newrelic/rpm/NewRelic/Agent/Transaction.notice_error