कैसे लॉग इन करें C # Log4net के साथ

जब आप लिखते हैं कंप्यूटर कोड C # में, लॉगिंग कोड को शामिल करना एक अच्छा विचार है। इस तरह, जब कुछ गलत होता है, तो आप जानते हैं कि कहां से देखना शुरू करना है। जावा विश्व वर्षों से ऐसा कर रहा है। आप इस उद्देश्य के लिए log4net का उपयोग कर सकते हैं। यह अपाचे log4j 2 का हिस्सा है, एक लोकप्रिय ओपन-सोर्स लॉगिंग फ्रेमवर्क है।

यह केवल .NET लॉगिंग फ्रेमवर्क नहीं है; वहां कई हैं। हालांकि अमरीका की एक मूल जनजाति नाम पर भरोसा किया गया है और मूल जावा लॉगिंग फ्रेमवर्क लगभग 15 से अधिक वर्षों से है।

Log4net लॉगिंग फ्रेमवर्क का उपयोग क्यों करें?

जब कोई एप्लिकेशन या सर्वर क्रैश होता है, तो आपको आश्चर्य होता है कि क्यों। क्या यह एक हार्डवेयर विफलता, मैलवेयर, शायद सेवा हमले से इनकार, या कुछ अजीब संयोजन है जो सभी कोड चेक को बायपास करने का प्रबंधन करता है? आपको अभी पता नहीं है।

आपको यह पता लगाने की आवश्यकता है कि दुर्घटना क्यों हुई, इसलिए इसे ठीक किया जा सकता है। लॉगिंग सक्षम होने के साथ, आप देख सकते हैं कि ऐसा क्यों हुआ।

शुरू करना

Apache log4net वेबसाइट से log4net फाइल डाउनलोड करें। पीजीपी हस्ताक्षर या एमडी 5 चेकसम का उपयोग करके डाउनलोड की गई फ़ाइलों की अखंडता की पुष्टि करें। चेकसम PGP हस्ताक्षर के रूप में मजबूत संकेतक नहीं हैं।

instagram viewer

Log4net का उपयोग करना

Log4net बढ़ती प्राथमिकता में सभी में से कोई भी प्रवेश करने के सात स्तरों का समर्थन करता है। य़े हैं:

  1. बंद
  2. घातक
  3. त्रुटि
  4. चेतावनी
  5. जानकारी
  6. डीबग
  7. सब

उच्च स्तरों में सभी निम्न शामिल हैं। डिबगिंग, का उपयोग करते समय डीबग सभी दिखाता है, लेकिन उत्पादन पर, आपको केवल FATAL में रुचि हो सकती है। यह विकल्प घटक स्तर पर प्रोग्रामेटिक रूप से या XML कॉन्फ़िग फ़ाइल में बनाया जा सकता है।

लकड़हारे और परिचारक

लचीलेपन के लिए, log4net लकड़हारा, एपेंडर्स और लेआउट का उपयोग करता है। एक लकड़हारा एक ऑब्जेक्ट है जो लॉगिंग को नियंत्रित करता है और आईलॉग इंटरफ़ेस का कार्यान्वयन है, जो पांच बूलियन तरीके निर्दिष्ट करता है: isDebugEnabled, IsInfoEnabled, IsWarnEnabled, IsErrorEnabled और IsFatalEnabled। यह पांच तरीकों को भी निर्दिष्ट करता है - डीबग, इंफो, वार्न, एरर और फ़ाल्टल - ओवरलोड और पांच फॉर्मेट स्ट्रिंग संस्करणों के साथ। आप लॉग इन ऑनलाइन लॉग इन में पूर्ण ILog इंटरफ़ेस देख सकते हैं।

लकड़हारे को एक स्तर सौंपा गया है लेकिन ALL या OFF नहीं, केवल अन्य पांच।

जहां लॉगिंग जाती है, वहां पर एपेंडर्स कंट्रोल करते हैं। यह एक डेटाबेस में, इन-मेमोरी बफर, कंसोल, एक रिमोट होस्ट को, रोलिंग लॉग के साथ एक टेक्स्ट फाइल, विंडोज इवेंट लॉग या एसएमटीपी के माध्यम से ईमेल करने के लिए भी हो सकता है। सभी में 22 ऐपेंडर हैं, और उन्हें जोड़ा जा सकता है, इसलिए आपके पास बहुत सारे विकल्प हैं। एक लकड़हारे के लिए परिशिष्ट संलग्न हैं (इसलिए नाम)।

एप्लाइड सब्स्टिट्यूटिंग, इवेंट लेवल, लेवल की रेंज और लकड़हारे के नाम से घटनाओं को फिल्टर करते हैं।

लेआउट

अंत में, सात लेआउट हैं जो एक ऐपेंडर के साथ जुड़े हो सकते हैं। ये नियंत्रित करते हैं कि घटना का संदेश कैसे लॉग किया गया है और इसमें अपवाद पाठ, टाइमस्टैम्प लेआउट और शामिल हो सकते हैं XML तत्व.

XML के साथ कॉन्फ़िगर करना

यद्यपि कॉन्फ़िगर करना प्रोग्रामेटिक रूप से किया जा सकता है, यह XML कॉन्फिग फाइलों के साथ भी किया जा सकता है। आप कोड परिवर्तनों पर कॉन्फ़िगर फ़ाइलों को क्यों पसंद करेंगे? सरल, एक कोड फ़ाइल को कोड बदलने, परीक्षण करने और नए संस्करण को फिर से जोड़ने के लिए प्रोग्रामर को प्राप्त करने के लिए एक समर्थन आदमी के पास एक कॉन्फ़िगर फ़ाइल में बदलाव करना बहुत आसान है। तो विन्यास फाइल जाने का रास्ता है। नीचे दिए गए उदाहरण में दिखाया गया है, अपनी परियोजना को जोड़ने के लिए सबसे सरल संभव मार्ग है:

1.0utf-8





















Log4net ऑनलाइन प्रलेखन सभी विन्यास फाइल क्षेत्रों की व्याख्या करता है। App.config सेट करने के बाद, log4net और इस लाइन का उपयोग करके जोड़ें:

[असेंबली: log4net कॉन्फिग। XmlConfigurator (देखें = सत्य)]

इसके अलावा वास्तविक लकड़हारे को LogManager को कॉल करना पड़ता है। GetLogger (...)। गेटलॉगर को आमतौर पर उस टाइपोफ़ (वर्ग) के साथ बुलाया जाता है जिसका वह उपयोग करता है, लेकिन यह फ़ंक्शन कॉल भी प्राप्त करता है:

प्रणाली। प्रतिबिंब। MethodBase। GetCurrentMethod ()। DeclaringType

यह उदाहरण एक टिप्पणी के साथ दोनों को दिखाता है, इसलिए आप चुन सकते हैं।

log4net का उपयोग करना;
[असेंबली: log4net कॉन्फिग। XmlConfigurator (देखें = सत्य)]
नामस्थान gvmake
{
कक्षा कार्यक्रम
{
निजी स्थिर आसानी से ILog लॉग = लॉगमैन। GetLogger (सिस्टम) प्रतिबिंब। MethodBase। GetCurrentMethod
() .DeclaringType);
// निजी स्थिर आसानी से ILog लॉग = लॉगमैन। GetLogger (टाइपोफ़ (प्रोग्राम));
स्थिर शून्य मुख्य (स्ट्रिंग [] args)
{
लॉग इन करें। डीबग ("एप्लीकेशन स्टार्टिंग");
}
}
}

instagram story viewer