Rails uygulamasında, doğru API yanıtı vermek için ApplicationController'daki istisnaların çoğunu kurtarıyoruz, ancak yine de ErrorCollector kullanılarak gerçekleşen hataları izlemek istiyoruz. NewRelic'e el ile hata göndermenin bir yolu var mı? kullanımı yolu önerilir, ancak bu mükemmel çalışıyor eğerNewRelic hatasını manuel olarak itmenin bir yolu var mı?
cevap
emin değil: New Relic ajan kodunda gördükleri dayanarak
NewRelic::Agent.agent.error_collector.notice_error(exception)
Yapabileceğiniz Ben
NewRelic::Agent.notice_error(exception, options)
Bunu test ettim ve bunu yığınımda çalıştırıyorum
Burada bir denetleyicide örnek var:
hata birimini hataları fark edip artırmak API çağrısı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
Bunun için aşağıdaki belgelere bakın: http://rdoc.info/github/newrelic/rpm/NewRelic/Agent:notice_error Temel olarak, çözüm yerine Igor'un kullandığı yöntemle ilgili bir takma addır, istisna yerine nil döndürür. Yani biraz farklı davrandığında, aslında aynı şey ve daha az ayrıntılıdır. –
Tüm belgeler burada, New Relic Yakut Ajan API belgelerine New Relic çalışmak http://rdoc.info/github/newrelic/rpm/NewRelic/Agent/Transaction.notice_error
olduğunu. Bu yöntem bugün çalışabilir olsa da, bu bizim * Kamu API'mızın bir parçası değildir ve bu nedenle kullanılmamalıdır - gelecekte herhangi bir noktada değişebilir. Kullanılacak doğru yöntem nort'un yanıtında belirtildiği gibi 'NewRelic :: Agent.notice_error'. Kamu [API dokümanlar] 'da (http://rubydoc.info/github/newrelic/rpm) belgelenmeyen her şey aynı kategoriye girer. – grumbler