2012-09-26 7 views

Antwort

6

Nicht sicher, ob es Art und Weise empfohlen wird zu verwenden, aber das funktioniert perfekt:

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

ich bei New Relic arbeiten. Obwohl diese Methode heute funktioniert, ist sie * nicht * Teil unserer öffentlichen API und sollte daher nicht verwendet werden - sie kann sich jederzeit ändern. Die richtige Methode ist 'NewRelic :: Agent.notice_error', wie in der Antwort von nort angegeben. Alles, was nicht in unseren öffentlichen [API-Dokumenten] (http://rubydoc.info/github/newrelic/rpm) dokumentiert ist, fällt in die gleiche Kategorie. – grumbler

35

Nach dem, was ich in der New Relic Agent Code sehen Sie

NewRelic::Agent.notice_error(exception, options)

ich zu tun haben getestet dies und haben dies in meinem Stapel ausgeführt

Hier ist ein Beispiel in einem Controller:

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

Hier ist die Dokumentation dafür: http://rdoc.info/github/newrelic/rpm/NewRelic/Agent:notice_error Es ist im Grunde ein Alias ​​für die Methode Igor in seiner Lösung enthalten, außer dass es keine Ausnahme anstelle der Ausnahme zurückgibt. Während es sich ein wenig anders verhält, ist es im Wesentlichen dasselbe und viel weniger wortreich. –

Verwandte Themen