কম্পিউটার টিউটোরিয়াল

Honeybadger Ruby Gem 4.0 রিলিজ: উন্নত এরর কাস্টমাইজেশন এবং বড় রিফ্যাক্টর

গত সপ্তাহ আমরা honeybadger Ruby gem-এর 4.0.0 ভার্সন রিলিজ করেছি। এই রিলিজে একটি দীর্ঘদিন প্রত্যাশিত ফিচার অন্তর্ভুক্ত যা আপনার এরর রিপোর্ট Honeybadger-এ পাঠানোর আগে কাস্টমাইজ করা আরও সহজ করে দেয়। আমরা কিছু জরুরি রিফ্যাক্টরিংও করেছি, এবং কিছু রিমুভাল ও ডিপ্রিকেশনও করা হয়েছে। চিন্তা ন করুন—API-এর অধিকাংশ অংশ অপরিবর্তিত রয়েছে, তাই অধিকাংশ ব্যবহারকারীর জন্য আপগ্রেড করা নিখুঁতভাবে সহজ হবে।

before_notify কলব্যাক পরিচিতি

honeybadger gem-এর পূর্ববর্তী ভার্সনগুলো তিনটি কলব্যাক প্রদান করত যা রিপোর্ট করা এররগুলোর বিভিন্ন দিক কাস্টমাইজ করতে ব্যবহার করা হতো:

  1. Honeybadger.backtrace_filter — Honeybadger-এ রিপোর্ট করা ব্যাকট্রেস মডিফাই করার কলব্যাক
  2. Honeybadger.exception_fingerprint — Honeybadger-এ এরর গ্রুপিং কাস্টমাইজ করার কলব্যাক
  3. Honeybadger.exception_filter — এরর রিপোর্ট সম্পূর্ণ বাদ দেওয়া উচিত কিনা তা নির্ধারণের কলব্যাক

এই কলব্যাকগুলো ছাড়া, এরর রিপোর্টের অন্যান্য ডেটা — যেমন এরর মেসেজ, ট্যাগস, বা রিকুয়েস্ট ডেটা — গ্লোবালি পরিবর্তন করার কোনো পদ্ধতি নেই, রেসকিউ করে লোকালি এক্সেপশন রিপোর্ট করার ব্যতিক্রমে। সেটাই হলো নতুন before_notify কলব্যাকের কাজ। আসলে, নতুন কলব্যাকটি এতটাই ভার্সাটাইল যে এটি পূর্বের তিনটি কলব্যাকই সম্পূর্ণরূপে রিপ্লেস করছে, যেগুলো এখন ডিপ্রিকেটেড।

আগামীতে, আপনি before_notify কলব্যাক ব্যবহার করে এই সকল কাজ এবং আরও অনেক কিছু করতে পারবেন। একাধিক কলব্যাকও সাপোর্ট করা হয়, যা Honeybadger কনফিগারেশনে বেশি ফ্লেক্সিবিলিটি দেয়:

Honeybadger.configure do |config| # একটি এরর রিপোর্ট বাদ দিন # Honeybadger.exception_filter রিপ্লেস করে config.before_notify do |notice| notice.halt! if notice.controller == 'auth' end # ব্যাকট্রেস মডিফাই করুন # Honeybadger.backtrace_filter রিপ্লেস করে config.before_notify do |notice| notice.backtrace.reject!{|l| l =~ /gem/ } end # এরর গ্রুপিং কাস্টমাইজ করুন # Honeybadger.exception_fingerprint রিপ্লেস করে config.before_notify do |notice| notice.fingerprint = 'new fingerprint' end # সব প্রপার্টি পরিবর্তন করুন! 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 to 4.x আপগ্রেড গাইড
  • সম্পূর্ণ CHANGELOG
  1. «No boot disk has been detected or the disk has failed» এরর সমাধান

  2. ViewComponent মাস্টারিং: রিয়িউজেবল রেলস ভিউ কম্পোনেন্ট বিল্ড করার প্র্যাক্টিক্যাল গাইড

  3. 'No Boot Disk Detected' এরর সমাধান: দ্রুত ফিক্স গাইড

  4. Windows Task Scheduler-এ 'Task Image is Corrupt or Tampered' এরর সমাধান