在我们的Rails应用中,我们通过在ApplicationController中捕获大多数异常来提供正确的API响应,但我们仍然想使用ErrorCollector跟踪发生的错误。有没有办法手动将错误发送到NewRelic?
在我们的Rails应用中,我们通过在ApplicationController中捕获大多数异常来提供正确的API响应,但我们仍然想使用ErrorCollector跟踪发生的错误。有没有办法手动将错误发送到NewRelic?
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
不确定这是否是推荐的使用方式,但这样做非常完美:
NewRelic::Agent.agent.error_collector.notice_error( exception )
NewRelic :: Agent.notice_error
,如nort的回复中所述。任何没有在我们的公共API文档 中记录的内容都属于同一类别。 - grumbler完整的API调用文档,用于通知错误并增加错误度量标准,可以在此处查看New Relic Ruby Agent API文档http://rdoc.info/github/newrelic/rpm/NewRelic/Agent/Transaction.notice_error