29

在我们的 Rails 应用程序中,我们拯救了 ApplicationController 上的大多数异常以提供正确的 API 响应,但仍希望使用 ErrorCollector 跟踪发生的错误。有没有办法手动向 NewRelic 发送错误?

4

3 回答 3

39

根据我在 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
于 2013-05-15T04:11:44.550 回答
6

不确定它是否是推荐的使用方式,但这非常有效:

NewRelic::Agent.agent.error_collector.notice_error( exception )
于 2012-09-26T19:54:26.930 回答
1

用于通知错误和增加错误度量的 API 调用的完整文档是此处的 New Relic Ruby Agent API 文档http://rdoc.info/github/newrelic/rpm/NewRelic/Agent/Transaction.notice_error

于 2013-06-07T21:54:40.960 回答