2012-09-26 6 views
25

私たちのRailsアプリケーションでは、正しいAPIレスポンスを与えるためにApplicationControllerの例外のほとんどを救いましたが、ErrorCollectorを使って発生したエラーを追跡したいと考えています。 NewRelicに手動でエラーを送信する方法はありますか?それは使用する方法をお勧めしますが、これは完璧に動作するかどうかNewRelicエラーを手動でプッシュする方法はありますか?

答えて

6

わからない:私は新しいRelicのエージェント・コードで見たものに基づいて

NewRelic::Agent.agent.error_collector.notice_error(exception) 
+16

です。このメソッドは今日は機能するかもしれませんが、公開APIの一部ではないため、使用しないでください - 将来的に変更される可能性があります。ノースのレスポンスに書かれているように、正しい方法は 'NewRelic :: Agent.notice_error'です。公開された[APIドキュメント](http://rubydoc.info/github/newrelic/rpm)には記載されていないものはすべて同じカテゴリに分類されます。 – grumbler

35

あなたが行うことができ、私が持っている

NewRelic::Agent.notice_error(exception, options)

これをテストし、これを私のスタックで実行してください。

コントローラの例です:

エラーメトリックをエラーに気づくとインクリメントするAPI呼び出しの
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 
+3

これについては、次のドキュメントを参照してください。http://rdoc.info/github/newrelic/rpm/NewRelic/Agent:notice_error 基本的には、例外の代わりにnilを返すことを除いて、彼のソリューションに含まれるメソッドIgorのエイリアスです。したがって、少し違った動作をしますが、基本的には同じで、あまり冗長ではありません。 –

関連する問題