में लकड़हारा पुस्तकालय का उपयोग करना माणिक जब आपके कोड में कुछ गलत हो गया है, तो नज़र रखने का एक आसान तरीका है। जब कुछ गलत हो जाता है, तो वास्तव में जो त्रुटि के लिए अग्रणी होता है, उसका एक विस्तृत खाता होने से आप बग का पता लगाने में घंटों बचा सकते हैं। जैसे-जैसे आपके कार्यक्रम बड़े और अधिक जटिल होते हैं, आप लॉग संदेश लिखने का एक तरीका जोड़ना चाह सकते हैं। रूबी कई उपयोगी के साथ आता है कक्षाएं और पुस्तकालयों को मानक पुस्तकालय कहा जाता है। इनमें लकड़हारा पुस्तकालय है, जो प्राथमिकता और घुमाए गए लॉगिंग प्रदान करता है।
मूल उपयोग
चूंकि लकड़हारा पुस्तकालय रूबी के साथ आता है, इसलिए किसी भी रत्न या अन्य पुस्तकालय स्थापित करने की कोई आवश्यकता नहीं है। लकड़हारा पुस्तकालय का उपयोग शुरू करने के लिए, बस की आवश्यकता होती है 'लकड़हारा' और एक नया लकड़हारा वस्तु बनाएँ। लॉगर ऑब्जेक्ट पर लिखे गए किसी भी संदेश को लॉग फ़ाइल में लिखा जाएगा।
#! / usr / bin / env माणिक
'लकड़हारा' की आवश्यकता
log = Logger.new ('log.txt')
log.debug "लॉग फ़ाइल बनाई गई"
प्राथमिकताएं
प्रत्येक लॉग संदेश में प्राथमिकता होती है। ये प्राथमिकताएं गंभीर संदेशों के लिए लॉग फ़ाइलों को खोजना आसान बनाती हैं, साथ ही साथ लॉगर ऑब्जेक्ट स्वचालित रूप से कम संदेशों को फ़िल्टर करते हैं जब उन्हें ज़रूरत नहीं होती है। आप इसे दिन के लिए अपनी टू डू सूची की तरह सोच सकते हैं। कुछ चीजें पूरी तरह से होनी चाहिए, कुछ चीजें वास्तव में होनी चाहिए, और कुछ चीजों को तब तक रखा जा सकता है जब तक आपके पास उन्हें करने का समय नहीं है।
पिछले उदाहरण में, प्राथमिकता थी डिबगसभी प्राथमिकताओं में से कम से कम महत्वपूर्ण (यदि आपके पास करने के लिए "आपके पास समय है, तो आप सूची में डाल देंगे", यदि आप करेंगे)। लॉग संदेश प्राथमिकताओं, क्रम में कम से कम सबसे महत्वपूर्ण, इस प्रकार हैं: डीबग, जानकारी, चेतावनी, त्रुटि, और घातक है। संदेशों के स्तर को निर्धारित करने के लिए लकड़हारे को अनदेखा करना चाहिए, का उपयोग करें स्तर विशेषता।
#! / usr / bin / env माणिक
'लकड़हारा' की आवश्यकता
log = Logger.new ('log.txt')
log.level = लकड़हारा:: WARN
log.debug "इसे अनदेखा किया जाएगा"
log.error "इसे अनदेखा नहीं किया जाएगा"
आप जितने चाहें उतने लॉग संदेश बना सकते हैं और आप अपने कार्यक्रम में हर छोटी से छोटी चीज को लॉग कर सकते हैं, जो प्राथमिकताओं को बेहद उपयोगी बनाता है। जब आप अपना प्रोग्राम चला रहे होते हैं, तो आप महत्वपूर्ण चीज़ को पकड़ने के लिए लकड़हारे को चेतावनी या त्रुटि जैसी किसी चीज़ पर छोड़ सकते हैं। फिर, जब कुछ गलत होता है, तो आप अधिक जानकारी प्राप्त करने के लिए लकड़हारा स्तर (स्रोत कोड में या कमांड-लाइन स्विच के साथ) को कम कर सकते हैं।
रोटेशन
लकड़हारा पुस्तकालय भी लॉग रोटेशन का समर्थन करता है। लॉग रोटेशन बहुत बड़े होने से लॉग रखता है और पुराने लॉग के माध्यम से खोजने में मदद करता है। जब लॉग रोटेशन सक्षम होता है और लॉग या तो एक निश्चित आकार या एक निश्चित आयु तक पहुंच जाता है, तो लकड़हारा पुस्तकालय उस फ़ाइल का नाम बदल देगा और एक नई फ़ाइल बना देगा। एक निश्चित उम्र के बाद पुरानी लॉग फ़ाइलों को भी हटा दिया जा सकता है (या "रोटेशन से बाहर गिरना")।
लॉग रोटेशन को सक्षम करने के लिए, लॉगर कंस्ट्रक्टर को 'मासिक', 'साप्ताहिक', या 'दैनिक' पास करें। वैकल्पिक रूप से, आप कंस्ट्रक्टर को घुमाव में रखने के लिए अधिकतम फ़ाइल आकार और फ़ाइलों की संख्या पास कर सकते हैं।
#! / usr / bin / env माणिक
'लकड़हारा' की आवश्यकता
log = Logger.new ('log.txt', 'daily')
log.debug "एक बार लॉग कम से कम एक हो जाता है"
log.debug "दिन पुराना है, इसका नाम बदला जाएगा और एक"
log.debug "नई log.txt फ़ाइल बनाई जाएगी।"