Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

Honeybadger Ruby जेम 4.0 जारी: उन्नत त्रुटि अनुकूलन और प्रमुख रीफैक्टर

पिछले हफ्ते हमने honeybadger Ruby जेम का वर्जन 4.0.0 जारी किया। इस रिलीज़ में एक लंबे समय से प्रतीक्षित सुविधा शामिल है जो आपकी त्रुटि रिपोर्ट को Honeybadger को भेजे जाने से पहले अनुकूलित करना और भी आसान बनाती है। हमने कुछ बहुत जरूरी रीफैक्टरिंग भी की, और अच्छे उपाय के लिए कुछ निष्कासन और डिप्रिकेशन किए। चिंता न करें, हालांकि—अधिकांश API अपरिवर्तित रहता है, इसलिए अधिकांश उपयोगकर्ताओं के लिए अपग्रेड अपेक्षाकृत दर्द रहित प्रक्रिया होनी चाहिए।

before_notify कॉलबैक का परिचय

honeybadger जेम के पिछले वर्जन्स ने तीन कॉलबैक प्रदान किए जिनका उपयोग रिपोर्ट की गई त्रुटियों के विभिन्न पहलुओं को अनुकूलित करने के लिए किया जा सकता था:

  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 से 4.x अपग्रेड गाइड
  • पूर्ण CHANGELOG
  1. ViewComponent में महारत: पुन: प्रयोज्य Rails व्यू कंपोनेंट बनाने के लिए एक व्यावहारिक गाइड ViewComponent में महारत: पुन: प्रयोज्य Rails व्यू कंपोनेंट बनाने के लिए एक व्यावहारिक गाइड

    React से प्रेरित, ViewComponents Ruby ऑब्जेक्ट्स हैं जिनका उपयोग व्यू रेंडर करने के लिए मार्कअप बनाने के लिए किया जाता है। ViewComponent Rails में पुन: प्रयोज्य, टेस्टेबल, और एनकैप्सुलेटेड व्यू कंपोनेंट बनाने के लिए एक फ्रेमवर्क है। आमतौर पर, पुन: प्रयोज्य व्यू Rails में पार्शियल का उपयोग करके बनाए

  1.  नो बूट डिस्क डिटेक्टेड  एरर को हल करें: त्वरित समाधान गाइड 'नो बूट डिस्क डिटेक्टेड' एरर को हल करें: त्वरित समाधान गाइड

    कोई बूट डिस्क पता नहीं चली या डिस्क विफल हो गई [हल किया गया]: त्रुटि स्वयं कहती है कि कोई बूट डिस्क पता नहीं चली जिसका अर्थ है या तो बूट कॉन्फिगरेशन सही ढंग से सेट नहीं है या आपकी हार्ड डिस्क भ्रष्ट हो गई है। बूट कॉन्फिगरेशन को BIOS (बेसिक इनपुट/आउटपुट सिस्टम) सेटअप में बदला जा सकता है लेकिन यदि आपक

  1. विंडोज टास्क शेड्यूलर में  टास्क इमेज भ्रष्ट है या उससे छेड़छाड़ की गई  एरर हल करें विंडोज टास्क शेड्यूलर में 'टास्क इमेज भ्रष्ट है या उससे छेड़छाड़ की गई' एरर हल करें

    टास्क इमेज भ्रष्ट है या उससे छेड़छाड़ की गई है ठीक करें: जब आप टास्क शेड्यूलर के तहत विशिष्ट टास्क चलाने का प्रयास करते हैं तो यह आपको एरर संदेश दे सकता है टास्क इमेज भ्रष्ट है या उससे छेड़छाड़ की गई है। संदेश स्वयं निर्दिष्ट करता है कि टास्क भ्रष्ट है या कोई थर्ड-पार्टी ऐप आपके टास्क शेड्यूलर टास्क