গত সপ্তাহে আমরা honeybadger
এর সংস্করণ 4.0.0 প্রকাশ করেছি রুবি মণি। এই রিলিজে একটি দীর্ঘ-প্রতীক্ষিত বৈশিষ্ট্য রয়েছে যা আপনার ত্রুটি প্রতিবেদনগুলিকে Honeybadger-এ পাঠানোর আগে কাস্টমাইজ করা আরও সহজ করে তোলে। আমরা কিছু অতি-প্রয়োজনীয় রিফ্যাক্টরিংও করেছি এবং ভালো পরিমাপের জন্য কিছু অপসারণ ও অবমূল্যায়ন করেছি। চিন্তা করবেন না, যদিও-অধিকাংশ API অপরিবর্তিত রয়েছে, তাই আপগ্রেড করা বেশিরভাগ ব্যবহারকারীর জন্য তুলনামূলকভাবে বেদনাদায়ক প্রক্রিয়া হওয়া উচিত।
প্রবর্তন করা হচ্ছে before_notify
কলব্যাক
honeybadger
এর আগের সংস্করণ রত্ন তিনটি কলব্যাক প্রদান করেছে যা রিপোর্ট করা ত্রুটির বিভিন্ন দিক কাস্টমাইজ করতে ব্যবহার করা যেতে পারে:
Honeybadger.backtrace_filter
— ব্যাকট্রেস পরিবর্তন করার জন্য একটি কলব্যাক যা Honeybadger
কে রিপোর্ট করা হয়েছে Honeybadger.exception_fingerprint
— Honeybadger
-এ ত্রুটির গ্রুপিং কাস্টমাইজ করার জন্য একটি কলব্যাক Honeybadger.exception_filter
— ত্রুটি রিপোর্ট সম্পূর্ণভাবে বাদ দেওয়া উচিত কিনা তা নির্ধারণ করতে একটি কলব্যাক
এই কলব্যাকগুলির বাইরে, স্থানীয়ভাবে ব্যতিক্রমগুলি উদ্ধার এবং রিপোর্ট করার বাইরে ত্রুটির বার্তা, ট্যাগ বা অনুরোধ ডেটার মতো ত্রুটি রিপোর্টে অন্যান্য ডেটা পরিবর্তন করার কোনও বিশ্বব্যাপী উপায় ছিল না। সেখানেই নতুন before_notify
কলব্যাক আসে। আসলে, নতুন কলব্যাক এতই বহুমুখী যে এটি আগের তিনটি কলব্যাককে সম্পূর্ণরূপে প্রতিস্থাপন করছে, যেগুলি এখন অবমূল্যায়িত হয়েছে।
এগিয়ে যাওয়ার জন্য, আপনি একটি before_notify
ব্যবহার করতে পারেন এই সমস্ত কাজ এবং আরও অনেক কিছু সম্পন্ন করতে কলব্যাক করুন। একাধিক কলব্যাকও সমর্থিত, যা Honeybadger কনফিগার করার সময় আরও নমনীয়তা প্রদান করে:
Honeybadger.configure do |config|
# Ignore an error report
# Replaces Honeybadger.exception_filter
config.before_notify do |notice|
notice.halt! if notice.controller == 'auth'
end
# Modify the backtrace
# Replaces Honeybadger.backtrace_filter
config.before_notify do |notice|
notice.backtrace.reject!{|l| l =~ /gem/ }
end
# Customize error grouping
# Replaces Honeybadger.exception_fingerprint
config.before_notify do |notice|
notice.fingerprint = 'new fingerprint'
end
# Change all the properties!
config.before_notify do |notice|
notice.api_key = 'custom api key'
notice.error_message = "badgers!"
notice.error_class = 'MyError'
notice.backtrace = ["/path/to/file.rb:5 in `method'"]
notice.fingerprint = 'some unique string'
notice.tags = ['foo', 'bar']
notice.context = { user: 33 }
notice.controller = 'MyController'
notice.action = 'index'
notice.parameters = { q: 'badgers?' }
notice.session = { uid: 42 }
notice.url = "/badgers"
end
end
আমরা নতুন before_notify
নিয়ে উচ্ছ্বসিত কলব্যাক করুন, এবং বিশ্বাস করুন যে এটি এগিয়ে যাওয়ার জন্য অনেক নতুন বিকল্প উন্মুক্ত করবে!
4.x এ আপগ্রেড করা হচ্ছে
3.x-এর বেশিরভাগ ব্যবহারকারীদের জন্য, আপগ্রেড করা অপ্রত্যাশিত হওয়া উচিত। আপনি যদি তিনটি কলব্যাক ব্যবহার করেন যা আমি উপরে উল্লেখ করেছি, তাহলে before_notify
ব্যবহার করার জন্য আপনাকে সেগুলি আপডেট করতে হবে পরিবর্তে, এবং Notice
-এর জন্য সর্বজনীন API-এর অংশ হিসাবে সম্ভাব্য আরও কয়েকটি ছোটখাটো পরিবর্তন করুন (অবজেক্টটি কলব্যাকে পাস করা হয়েছে) সামান্য পরিবর্তিত হয়েছে।
আরো তথ্যের জন্য:
- 3.x থেকে 4.x আপগ্রেড গাইড
- পরিবর্তন সম্পূর্ণ করুন