paint-brush
लॉग से अधिकतम मूल्य कैसे निकालेंद्वारा@alvinslee
1,516 रीडिंग
1,516 रीडिंग

लॉग से अधिकतम मूल्य कैसे निकालें

द्वारा Alvin Lee9m2023/08/25
Read on Terminal Reader

बहुत लंबा; पढ़ने के लिए

हम देखेंगे कि लॉग कैसे डिज़ाइन किए जा सकते हैं, बड़े सिस्टम में लॉग इन करने की चुनौतियाँ और समाधान, और लॉग-आधारित मेट्रिक्स और दीर्घकालिक प्रतिधारण के बारे में कैसे सोचा जाए।
featured image - लॉग से अधिकतम मूल्य कैसे निकालें
Alvin Lee HackerNoon profile picture

लॉगिंग यकीनन आपके अवलोकन समाधान का सबसे महत्वपूर्ण तत्व है। लॉग सिस्टम व्यवहार के बारे में मूलभूत और समृद्ध जानकारी प्रदान करते हैं। एक आदर्श दुनिया में, आप लॉगिंग के बारे में सभी निर्णय लेंगे और अपने पूरे सिस्टम में एक सुसंगत दृष्टिकोण लागू करेंगे।


हालाँकि, वास्तविक दुनिया में, आप विरासत सॉफ़्टवेयर के साथ काम कर सकते हैं या विभिन्न प्रोग्रामिंग भाषाओं, फ़्रेमवर्क और ओपन-सोर्स पैकेजों से निपट सकते हैं, जिनमें से प्रत्येक का लॉगिंग के लिए अपना प्रारूप और संरचना होती है।


आपके सिस्टम में लॉग प्रारूपों में इतनी विविधता के साथ, आप अपने सभी लॉग से अधिकतम मूल्य निकालने के लिए क्या कदम उठा सकते हैं? यही हम इस पोस्ट में कवर करेंगे।


हम देखेंगे कि लॉग कैसे डिज़ाइन किए जा सकते हैं, बड़े सिस्टम में लॉग इन करने की चुनौतियाँ और समाधान, और लॉग-आधारित मेट्रिक्स और दीर्घकालिक प्रतिधारण के बारे में कैसे सोचा जाए।


आइए लॉग स्तरों और प्रारूपों पर एक नज़र डालें।

लॉगिंग डिज़ाइन

लॉग डिज़ाइन में कई विचार किए जाते हैं, लेकिन दो सबसे महत्वपूर्ण पहलू लॉग स्तरों का उपयोग और क्या संरचित या असंरचित लॉग प्रारूपों का उपयोग करना है।

लॉग स्तर

लॉग स्तरों का उपयोग लॉग संदेशों को उनकी गंभीरता के आधार पर वर्गीकृत करने के लिए किया जाता है। उपयोग किए गए विशिष्ट लॉग स्तर लॉगिंग ढांचे या सिस्टम के आधार पर भिन्न हो सकते हैं। हालाँकि, आमतौर पर उपयोग किए जाने वाले लॉग स्तरों में (शब्दशः क्रम में, उच्चतम से निम्नतम तक) शामिल हैं:


  • ट्रेस : एक व्यापक रिकॉर्ड के पुनर्निर्माण और किसी भी राज्य परिवर्तन के लिए लेखांकन के लिए सिस्टम द्वारा की जाने वाली प्रत्येक कार्रवाई को कैप्चर करता है।


  • डिबग : डिबगिंग उद्देश्यों के लिए विस्तृत जानकारी कैप्चर करता है। ये संदेश आम तौर पर केवल विकास के दौरान प्रासंगिक होते हैं और इन्हें उत्पादन परिवेश में सक्षम नहीं किया जाना चाहिए।


  • जानकारी : सिस्टम के निष्पादन में महत्वपूर्ण घटनाओं या मील के पत्थर को बताने के लिए सिस्टम के संचालन के बारे में सामान्य जानकारी प्रदान करता है।


  • चेतावनी : संभावित मुद्दों या स्थितियों को इंगित करता है जिन पर ध्यान देने की आवश्यकता हो सकती है। ये संदेश महत्वपूर्ण नहीं हैं लेकिन यदि आवश्यक हो तो इन्हें नोट किया जाना चाहिए और जांच की जानी चाहिए।


  • त्रुटि : सिस्टम के निष्पादन के दौरान हुई त्रुटियों को इंगित करता है। ये संदेश आम तौर पर उन मुद्दों को उजागर करते हैं जिन्हें संबोधित करने की आवश्यकता होती है और जो सिस्टम की कार्यक्षमता को प्रभावित कर सकते हैं।


उचित स्तर पर लॉगिंग करने से सिस्टम के व्यवहार को समझने, मुद्दों की पहचान करने और समस्याओं का प्रभावी ढंग से निवारण करने में मदद मिलती है।


जब आपके द्वारा बनाए गए सिस्टम घटकों की बात आती है, तो हम अनुशंसा करते हैं कि आप उपयोगी लॉग स्तरों के सेट को परिभाषित करने के लिए कुछ समय समर्पित करें। समझें कि प्रत्येक लॉग स्तर पर संदेशों में किस प्रकार की जानकारी शामिल की जानी चाहिए, और लॉग स्तरों का लगातार उपयोग करें।


बाद में, हम चर्चा करेंगे कि तृतीय-पक्ष एप्लिकेशन से कैसे निपटें, जहां लॉग स्तरों पर आपका कोई नियंत्रण नहीं है। हम उन पुराने अनुप्रयोगों को भी देखेंगे जिन्हें आप नियंत्रित करते हैं लेकिन मानक लॉग स्तरों पर माइग्रेट करने के लिए बहुत विस्तृत हैं।

संरचित बनाम असंरचित लॉग

संरचित लॉग में प्रविष्टियों का एक अच्छी तरह से परिभाषित प्रारूप होता है, आमतौर पर कुंजी-मूल्य जोड़े या JSON ऑब्जेक्ट के रूप में। यह सुसंगत और मशीन-पठनीय लॉग प्रविष्टियों की अनुमति देता है, जिससे लॉग डेटा को प्रोग्रामेटिक रूप से पार्स और विश्लेषण करना आसान हो जाता है।


संरचित लॉगिंग उन्नत लॉग क्वेरी और विश्लेषण को सक्षम बनाता है, जो इसे बड़े पैमाने के सिस्टम में विशेष रूप से उपयोगी बनाता है।


दूसरी ओर, असंरचित (मुक्त रूप) लॉगिंग पूर्वनिर्धारित संरचना के बिना, संदेशों को अधिक मानव-पठनीय प्रारूप में कैप्चर करता है। यह दृष्टिकोण डेवलपर्स को संदेशों को अधिक स्वाभाविक और लचीले ढंग से लॉग करने की अनुमति देता है।


हालाँकि, परिणामी लॉग से प्रोग्रामेटिक रूप से विशिष्ट जानकारी निकालना बहुत चुनौतीपूर्ण हो सकता है।


संरचित और असंरचित लॉग के बीच चयन करना आपकी विशिष्ट आवश्यकताओं और आपके सिस्टम की आवश्यकताओं और बाधाओं पर निर्भर करता है। यदि आप उन्नत लॉग विश्लेषण या लॉग विश्लेषण टूल के साथ एकीकरण की आवश्यकता का अनुमान लगाते हैं, तो संरचित लॉग महत्वपूर्ण लाभ प्रदान कर सकते हैं।


हालाँकि, यदि आपको सरलता और पठनीयता की आवश्यकता है, तो असंरचित लॉग पर्याप्त हो सकते हैं।


कुछ मामलों में, हाइब्रिड दृष्टिकोण का भी उपयोग किया जा सकता है, जहां आप महत्वपूर्ण घटनाओं के लिए संरचित लॉग का उपयोग करते हैं और अधिक सामान्य संदेशों के लिए असंरचित लॉग का उपयोग करते हैं।


बड़े पैमाने के सिस्टम के लिए, जब संभव हो तो आपको संरचित लॉगिंग की ओर झुकना चाहिए लेकिन ध्यान रखें कि यह आपकी योजना में एक और आयाम जोड़ता है। संरचित लॉग संदेशों के लिए अपेक्षा यह है कि सिस्टम घटकों में फ़ील्ड का समान सेट लगातार उपयोग किया जाएगा। इसके लिए रणनीतिक योजना की आवश्यकता होगी.

लॉगिंग चुनौतियाँ

कई घटकों वाले सिस्टम के साथ, प्रत्येक घटक के पास अपने लॉग को प्रबंधित करने के लिए अपना स्वयं का मॉडल होने की संभावना है। आइए इससे आने वाली चुनौतियों की समीक्षा करें।

असमान गंतव्य

घटक विभिन्न गंतव्यों पर लॉग इन करेंगे- फ़ाइलें, सिस्टम लॉग, stdout, या stderr। वितरित प्रणालियों में, प्रभावी उपयोग के लिए इन बिखरे हुए लॉग को इकट्ठा करना बोझिल है।


इसके लिए, आपको लॉग संग्रह के लिए एक विविध दृष्टिकोण की आवश्यकता होगी, जैसे सूमो लॉजिक से स्थापित कलेक्टरों और होस्ट किए गए कलेक्टरों का उपयोग करना।

भिन्न-भिन्न प्रारूप

कुछ घटक विशेष रूप से किसी भी प्रारूप का पालन न करते हुए, असंरचित, फ्री-फॉर्म लॉगिंग का उपयोग करेंगे। इस बीच, संरचित लॉग अधिक व्यवस्थित हो सकते हैं, लेकिन संरचित लॉग वाले घटक फ़ील्ड के पूरी तरह से अलग सेट को नियोजित कर सकते हैं।


विभिन्न प्रकार के लॉग और प्रारूपों से प्राप्त जानकारी को एकीकृत करने के लिए सही टूल की आवश्यकता होती है।

असंगत लॉग स्तर

आपके सिस्टम के घटक लॉग स्तरों की विभिन्न श्रेणियों का उपयोग कर सकते हैं। भले ही आप सभी लॉग संदेशों को एक केंद्रीकृत लॉगिंग सिस्टम में समेकित करते हैं (जैसा कि आपको करना चाहिए), आपको सभी लॉग स्तरों के संघ से निपटने की आवश्यकता होगी।


एक चुनौती यह उत्पन्न होती है कि विभिन्न लॉग स्तरों के साथ एक जैसा व्यवहार किया जाना चाहिए। उदाहरण के लिए, एक घटक में त्रुटि दूसरे घटक में गंभीर के समान हो सकती है, जिसके लिए तत्काल वृद्धि की आवश्यकता होती है।


आपको विपरीत चुनौती का सामना करना पड़ता है जब विभिन्न घटकों में समान लॉग स्तर का मतलब अलग-अलग चीजें होता है। उदाहरण के लिए, एक घटक में सूचना संदेश सिस्टम स्थिति को समझने के लिए आवश्यक हो सकते हैं, जबकि दूसरे घटक में वे बहुत अधिक क्रियात्मक हो सकते हैं।

लॉग संग्रहण लागत

बड़े वितरित सिस्टम बहुत सारे लॉग जमा करते हैं। इन लट्ठों को एकत्र करना और संग्रहीत करना सस्ता नहीं है। क्लाउड में लॉग-संबंधी लागत सिस्टम की कुल लागत का एक महत्वपूर्ण हिस्सा बन सकती है।

इन चुनौतियों से निपटना

जबकि बड़े, वितरित सिस्टम में लॉग इन करने की चुनौतियाँ महत्वपूर्ण हैं, समाधान निम्नलिखित कुछ प्रथाओं के माध्यम से पाया जा सकता है।

अपने लॉग एकत्रित करें

जब आप एक वितरित सिस्टम चलाते हैं, तो आपको एक केंद्रीकृत लॉगिंग समाधान का उपयोग करना चाहिए। जैसे ही आप अपने सिस्टम में प्रत्येक मशीन पर लॉग संग्रह एजेंट चलाते हैं, ये संग्राहक सभी लॉग को आपके केंद्रीय अवलोकन मंच पर भेज देंगे।


सूमो लॉजिक, जिसने हमेशा लॉग प्रबंधन और विश्लेषण पर ध्यान केंद्रित किया है, जब लॉग एकत्रीकरण की बात आती है तो यह अपनी श्रेणी में सर्वश्रेष्ठ है।

एकीकृत प्रारूप की ओर बढ़ें

यदि आप विभिन्न अनुप्रयोगों और घटकों में विश्लेषण और समस्या निवारण के लिए लॉग डेटा को सहसंबंधित करना चाहते हैं तो विभिन्न प्रारूपों में लॉग से निपटना एक बड़ी समस्या है। एक समाधान विभिन्न लॉग को एक एकीकृत प्रारूप में बदलना है।


इस कार्य के लिए प्रयास का स्तर ऊंचा हो सकता है, इसलिए इसे चरणों में करने पर विचार करें, अपने सबसे आवश्यक घटकों से शुरू करें और अपने तरीके से काम करें।

अपने सभी अनुप्रयोगों में एक लॉगिंग मानक स्थापित करें

अपने स्वयं के अनुप्रयोगों के लिए, एक मानक लॉगिंग दृष्टिकोण स्थापित करने के लिए काम करें जो लॉग स्तरों का एक समान सेट, एक एकल संरचित लॉग प्रारूप और सुसंगत शब्दार्थ को अपनाता है।


यदि आपके पास भी विरासती अनुप्रयोग हैं, तो अपने मानक का पालन करने के लिए उन्हें स्थानांतरित करने से जुड़े जोखिम के स्तर और लागत का मूल्यांकन करें।


यदि माइग्रेशन संभव नहीं है, तो अपने विरासत अनुप्रयोगों के साथ उसी तरह व्यवहार करें जैसे आप तृतीय-पक्ष अनुप्रयोगों के साथ करते हैं।

तृतीय-पक्ष स्रोतों से लॉग समृद्ध करें

तृतीय-पक्ष स्रोतों से लॉग को समृद्ध करने में बाहरी सिस्टम या सेवाओं से प्रासंगिक जानकारी के साथ लॉग डेटा को बढ़ाना शामिल है। यह लॉग इवेंट की बेहतर समझ लाता है, समस्या निवारण, विश्लेषण और निगरानी गतिविधियों में सहायता करता है।


अपने लॉग को समृद्ध करने के लिए, आप लॉग इवेंट (जैसे उपयोगकर्ता जानकारी, ग्राहक विवरण, या सिस्टम मेट्रिक्स) से संबंधित पूरक डेटा लाने के लिए बाहरी सिस्टम (जैसे एपीआई या संदेश कतार) को एकीकृत कर सकते हैं।

लॉग वॉल्यूम, फ़्रीक्वेंसी और रिटेंशन प्रबंधित करें

कुशल लॉग प्रबंधन और भंडारण के लिए लॉग वॉल्यूम, आवृत्ति और प्रतिधारण को सावधानीपूर्वक प्रबंधित करना महत्वपूर्ण है।


  • वॉल्यूम : उत्पन्न लॉग वॉल्यूम की निगरानी से आपको संसाधन खपत और प्रदर्शन प्रभावों को नियंत्रित करने में मदद मिलती है।


  • आवृत्ति : घटनाओं की गंभीरता और निगरानी के वांछित स्तर के आधार पर निर्धारित करें कि कितनी बार लॉग इन करना है।


  • अवधारण : अनुपालन आवश्यकताओं, परिचालन आवश्यकताओं और उपलब्ध भंडारण के लिए उपयुक्त लॉग प्रतिधारण नीति को परिभाषित करें।


  • रोटेशन : लॉग फ़ाइल आकार को प्रभावी ढंग से प्रबंधित करने के लिए समय-समय पर पुरानी लॉग फ़ाइलों को संग्रहीत या शुद्ध करें।


  • संपीड़न : भंडारण आवश्यकताओं को कम करने के लिए लॉग फ़ाइलों को संपीड़ित करें।

लॉग-आधारित मेट्रिक्स

लॉग डेटा के विश्लेषण से प्राप्त मेट्रिक्स सिस्टम व्यवहार और प्रदर्शन में अंतर्दृष्टि प्रदान कर सकते हैं। लॉग-आधारित मेट्रिक्स पर काम करने के अपने लाभ और चुनौतियाँ हैं।

फ़ायदे

  • बारीक अंतर्दृष्टि : लॉग-आधारित मेट्रिक्स सिस्टम घटनाओं में विस्तृत और बारीक अंतर्दृष्टि प्रदान करते हैं, जिससे आप पैटर्न, विसंगतियों और संभावित मुद्दों की पहचान कर सकते हैं।


  • व्यापक निगरानी : लॉग-आधारित मेट्रिक्स का लाभ उठाकर, आप अपने सिस्टम की व्यापक रूप से निगरानी कर सकते हैं, उपलब्धता, प्रदर्शन और उपयोगकर्ता अनुभव से संबंधित महत्वपूर्ण मेट्रिक्स में दृश्यता प्राप्त कर सकते हैं।


  • ऐतिहासिक विश्लेषण : लॉग-आधारित मेट्रिक्स ऐतिहासिक डेटा प्रदान करते हैं जिनका उपयोग प्रवृत्ति विश्लेषण, क्षमता योजना और प्रदर्शन अनुकूलन के लिए किया जा सकता है। समय के साथ लॉग रुझानों की जांच करके, आप दक्षता और स्केलेबिलिटी में सुधार के लिए डेटा-संचालित निर्णय ले सकते हैं।


  • लचीलापन और अनुकूलन : आप अपने एप्लिकेशन या सिस्टम के अनुरूप लॉग-आधारित मेट्रिक्स के निष्कर्षण को अनुकूलित कर सकते हैं, उन घटनाओं और डेटा बिंदुओं पर ध्यान केंद्रित कर सकते हैं जो आपकी आवश्यकताओं के लिए सबसे सार्थक हैं।

चुनौतियां

  • सार्थक मेट्रिक्स को परिभाषित करना : क्योंकि आपके सभी घटकों में आपके लिए उपलब्ध मेट्रिक्स का सेट अविश्वसनीय रूप से विशाल है - और उन सभी को कैप्चर करने का कोई मतलब नहीं होगा - यह पहचानना कि कौन से मेट्रिक्स को कैप्चर करना है और लॉग से निकालना एक जटिल कार्य हो सकता है।


    इस पहचान के लिए सिस्टम व्यवहार की गहरी समझ और आपके व्यावसायिक उद्देश्यों के साथ घनिष्ठ तालमेल की आवश्यकता होती है।


  • डेटा निष्कर्षण और पार्सिंग : उपयोगी मेट्रिक्स निकालने के लिए लॉग को पार्स करने के लिए विशेष उपकरण या कस्टम पार्सर की आवश्यकता हो सकती है। यह विशेष रूप से सच है यदि लॉग असंरचित हैं या एक घटक से दूसरे घटक में असंगत रूप से स्वरूपित हैं।


    इसे सेट करने में समय लग सकता है और लॉग प्रारूप बदलने या नए लॉग स्रोत सामने आने पर रखरखाव की आवश्यकता हो सकती है।


  • वास्तविक समय विश्लेषण की आवश्यकता : लॉग-आधारित मेट्रिक्स को संसाधित करने में देरी से पुराने या अप्रासंगिक मेट्रिक्स हो सकते हैं। अधिकांश स्थितियों के लिए, आपको एक ऐसे प्लेटफ़ॉर्म की आवश्यकता होगी जो लॉग-आधारित मेट्रिक्स का प्रभावी ढंग से लाभ उठाने के लिए आने वाले डेटा का तेज़, वास्तविक समय प्रसंस्करण कर सके।


  • प्रदर्शन प्रभाव : घटक प्रोफाइलिंग मेट्रिक्स को लगातार कैप्चर करने से सिस्टम संसाधनों पर अतिरिक्त दबाव पड़ता है। आपको पर्याप्त लॉग-आधारित मेट्रिक्स कैप्चर करने और पर्याप्त सिस्टम प्रदर्शन बनाए रखने के बीच एक अच्छा संतुलन खोजने की आवश्यकता होगी।


  • डेटा शोर और अप्रासंगिकता : लॉग डेटा में अक्सर बहुत अधिक शोर और अप्रासंगिक जानकारी शामिल होती है, जो सार्थक मेट्रिक्स में योगदान नहीं देती है। प्रासंगिक घटनाओं पर डेटा एकत्रण पर ध्यान केंद्रित करने के लिए सावधानीपूर्वक लॉग फ़िल्टरिंग और सामान्यीकरण आवश्यक है।

दीर्घकालिक लॉग प्रतिधारण

एक केंद्रीकृत प्रणाली में लॉग एकत्रीकरण की ओर कदम बढ़ाने के बाद, आपको अभी भी दीर्घकालिक लॉग प्रतिधारण नीतियों पर विचार करने की आवश्यकता होगी। आइए इस क्षेत्र के महत्वपूर्ण प्रश्नों को कवर करें।

आपको कितने समय तक लॉग अपने पास रखना चाहिए?

आपको कितने समय तक लॉग रखना चाहिए यह कई कारकों पर निर्भर करता है, जिनमें शामिल हैं:


  • लॉग प्रकार : कुछ लॉग (जैसे एक्सेस लॉग) को थोड़े समय के बाद हटाया जा सकता है। अन्य लॉग (जैसे त्रुटि लॉग) को समस्या निवारण के लिए आवश्यक होने पर लंबे समय तक रखने की आवश्यकता हो सकती है।


  • विनियामक आवश्यकताएँ : स्वास्थ्य सेवा और वित्त जैसे उद्योगों में ऐसे नियम हैं जिनके लिए संगठनों को एक निश्चित समय, कभी-कभी कुछ वर्षों तक लॉग रखने की आवश्यकता होती है।


  • कंपनी की नीति : आपकी कंपनी की नीतियां यह निर्धारित कर सकती हैं कि लॉग कितने समय तक रखे जाने चाहिए।


  • लॉग का आकार : यदि आपके लॉग बड़े हैं, तो आपको उन्हें बार-बार घुमाने या हटाने की आवश्यकता हो सकती है।


  • भंडारण लागत : भले ही आप अपने लॉग को ऑन-प्रिमाइसेस या क्लाउड में कहीं भी संग्रहीत करते हों, आपको भंडारण की लागत को ध्यान में रखना होगा।

आप पुराने लॉग के विवरण के स्तर और लागत को कैसे कम करते हैं?

बेशक, पुराने लॉग हटाना आपकी भंडारण लागत को कम करने का सबसे आसान तरीका है। हालाँकि, यह थोड़ा कठिन हो सकता है, और आप कभी-कभी पुराने लॉग से जानकारी रखना चाह सकते हैं।


जब आप पुराने लॉग से जानकारी रखना चाहते हैं, लेकिन लागत-कुशल भी होना चाहते हैं, तो इनमें से कुछ उपाय करने पर विचार करें:


  • डाउनसैंपलिंग लॉग : ऐसे घटकों के मामले में जो कई दोहराव वाले लॉग स्टेटमेंट उत्पन्न करते हैं, आप केवल स्टेटमेंट का एक सबसेट ही ग्रहण कर सकते हैं (उदाहरण के लिए, प्रत्येक 10 में से 1)।


  • लॉग ट्रिम करना : बड़े संदेशों वाले लॉग के लिए, आप कुछ फ़ील्ड छोड़ सकते हैं। उदाहरण के लिए, यदि किसी त्रुटि लॉग में एक त्रुटि कोड और एक त्रुटि विवरण है, तो केवल त्रुटि कोड रखकर आपके पास आवश्यक सभी जानकारी हो सकती है।


  • संपीड़न और संग्रहण : आप पुराने लॉग को संपीड़ित कर सकते हैं और उन्हें सस्ते और कम सुलभ भंडारण (विशेषकर क्लाउड में) में ले जा सकते हैं। यह उन लॉग्स के लिए एक बेहतरीन समाधान है जिन्हें आपको नियामक अनुपालन आवश्यकताओं को पूरा करने के लिए वर्षों तक संग्रहीत करने की आवश्यकता होती है।

निष्कर्ष

इस लेख में, हमने देखा है कि बड़े पैमाने के सिस्टम में लॉगिंग का अधिकतम लाभ कैसे उठाया जाए।


हालाँकि इन प्रणालियों में लॉग इन करना चुनौतियों का एक अनूठा सेट प्रस्तुत करता है, हमने इन चुनौतियों के संभावित समाधानों पर ध्यान दिया है, जैसे लॉग एकत्रीकरण, लॉग को एक एकीकृत प्रारूप में बदलना, और तीसरे पक्ष के स्रोतों से डेटा के साथ लॉग को समृद्ध करना।


लॉगिंग अवलोकन का एक महत्वपूर्ण हिस्सा है। इस आलेख में उल्लिखित प्रथाओं का पालन करके, आप यह सुनिश्चित कर सकते हैं कि आपके लॉग प्रभावी ढंग से प्रबंधित किए जाते हैं, जिससे आप समस्याओं का निवारण कर सकते हैं, मुद्दों की पहचान कर सकते हैं और अपने सिस्टम के व्यवहार में अंतर्दृष्टि प्राप्त कर सकते हैं।


और आप अपनी लॉगिंग लागत को कम रखते हुए ऐसा कर सकते हैं।


यहाँ भी प्रकाशित किया गया