Node.js में लॉगिंग कैसे कार्यान्वित करें

Node Js Mem Loginga Kaise Karyanvita Karem



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

यह आलेख नीचे सूचीबद्ध सामग्री की व्याख्या करता है:

नोड.जेएस में कब लॉग इन करें?

नोड.जेएस में सामान्य लॉगिंग स्तर निम्नलिखित हैं:







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

लॉगिंग कहाँ की जाती है?

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



  • stdout
  • stderr
  • सांत्वना देना

यह ऐसा है कि बुनियादी ' कंसोल.लॉग() ' और ' कंसोल.जानकारी() 'तरीके लॉग इन करें' stdout ”। हालांकि ' कंसोल.चेतावनी() ' और ' कंसोल.त्रुटि() 'तरीके लॉग इन करें' stderr ”। ये विधियाँ कंसोल पर आउटपुट प्रदर्शित करती हैं। फ्रंट एंड में, यह प्रोग्रामर का टूल कंसोल होगा।



Node.js में लॉगिंग कैसे लागू करें?

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





  • कंसोल.लॉग() ' तरीका।
  • कंसोल.चेतावनी() ' तरीका।
  • कंसोल.त्रुटि() ' तरीका।
  • कंसोल मेज() ' तरीका।
  • डीबग मॉड्यूल.
  • विंस्टन पैकेज।

दृष्टिकोण 1: 'कंसोल.लॉग()' विधि का उपयोग करके नोड.जेएस में लॉगिंग लागू करें

कंसोल.लॉग() ” विधि कंसोल पर आउटपुट प्रदर्शित करती है और समय-समय पर कोड कार्यक्षमताओं का परीक्षण करने में सहायक होती है।

वाक्य - विन्यास



सांत्वना देना। लकड़ी का लट्ठा ( गड़बड़ )

इस वाक्यविन्यास में, ' गड़बड़ ” कंसोल पर लिखे जाने वाले संदेश को संदर्भित करता है।

अब, नीचे दिए गए कोड ब्लॉक पर आगे बढ़ें जो कंसोल पर दिए गए संदेशों को लॉग करता है:

सांत्वना देना। लकड़ी का लट्ठा ( 'यह Linuxhint है!' ) ;

सांत्वना देना। लकड़ी का लट्ठा ( 'यह नोड जेएस है!' ) ;

उत्पादन

इस परिणाम से, यह निहित किया जा सकता है कि बताए गए संदेश कंसोल पर उचित रूप से प्रदर्शित होते हैं।

दृष्टिकोण 2: 'कंसोल.वार्न()' विधि का उपयोग करके नोड.जेएस में लॉगिंग लागू करें

कंसोल.चेतावनी() 'विधि कंसोल पर एक चेतावनी संदेश प्रदर्शित करती है।

वाक्य - विन्यास

सांत्वना देना। चेतावनी देना ( गड़बड़ )

दिए गए वाक्यविन्यास में, “ गड़बड़ ” कंसोल पर प्रदर्शित होने वाले संदेश (कस्टम भी) को इंगित करता है।

अब, निम्नलिखित कोड लाइन पर जाएं जो 'की मदद से एक कस्टम चेतावनी संदेश प्रदर्शित करती है कंसोल.चेतावनी() ' तरीका:

सांत्वना देना। चेतावनी देना ( 'यह एक चेतावनी है!' ) ;

उत्पादन

जैसा कि देखा गया है, निर्दिष्ट कस्टम चेतावनी उचित रूप से प्रदर्शित की जाती है।

दृष्टिकोण 3: 'कंसोल.एरर()' विधि का उपयोग करके नोड.जेएस में लॉगिंग लागू करें

यह विधि कंसोल पर एक त्रुटि संदेश लिखती है।

वाक्य - विन्यास

सांत्वना देना। गलती ( [ डेटा ] [ , ... बहस ] )

इस वाक्यविन्यास में:

  • डेटा 'प्राथमिक संदेश को संदर्भित करता है।
  • बहस ” मूल्यों का प्रतिनिधित्व करते हैं।

प्रतिलाभ की मात्रा

यह विधि एक त्रुटि संदेश पुनर्प्राप्त करती है।

कोड के निम्नलिखित स्निपेट का अवलोकन जो असंतुष्ट स्थिति पर एक त्रुटि संदेश लॉग करता है:

एक्स = 150 ;
अगर ( एक्स < 100 ) {
सांत्वना देना। लकड़ी का लट्ठा ( 'जाने के लिए अच्छा' ) ;
}
अन्य {
सांत्वना देना। गलती ( 'अनुचित संख्या' ) ;
}

इस कोड के अनुसार:

  • शर्तों के विश्लेषण के लिए एक पूर्णांक प्रारंभ करें।
  • उसके बाद, ' लागू करें अगर 'कथन इस प्रकार है कि यदि प्रारंभिक पूर्णांक '100' से कम है, तो निर्दिष्ट संदेश प्रदर्शित होता है।
  • अन्यथा ' अन्य ' कथन ' में त्रुटि संदेश निष्पादित करता है कंसोल.त्रुटि() ' तरीका।

उत्पादन

यह आउटपुट पुष्टि करता है कि असंतुष्ट स्थिति पर, कस्टम त्रुटि संदेश तदनुसार कंसोल पर प्रदर्शित होता है।

दृष्टिकोण 4: 'कंसोल.टेबल()' विधि का उपयोग करके नोड.जेएस में लॉगिंग लागू करें

यह विधि कंसोल पर एक तालिका बनाती और प्रदर्शित करती है।

वाक्य - विन्यास

सांत्वना देना। मेज़ ( टीडी, टीसी )

यहाँ, ' टीडी 'तालिका डेटा का प्रतिनिधित्व करता है, और' टीसी ” तालिका स्तंभों की सरणी को संदर्भित करता है।

अब, नीचे दिए गए कोड स्टेटमेंट पर जाएं जो वीडियो डेटा प्रकारों के निर्दिष्ट मानों को दो बार एक अलग इंडेक्स निर्दिष्ट करके एक तालिका बनाता है:

सांत्वना देना। मेज़ ( [ { एक्स : 10 , ए : 'हैरी' } , { एक्स : पंद्रह , ए : 'साथ' } ] ) ;

उत्पादन

दृष्टिकोण 5: 'डीबग मॉड्यूल' का उपयोग करके नोड.जेएस में लॉगिंग लागू करें

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

लॉगिंग मिडलवेयर स्थापित करने के तरीके निम्नलिखित हैं:

उदाहरण 1: एप्लिकेशन से लॉगिंग मिडलवेयर सेट करना

ऐप.उपयोग() 'फ़ंक्शन निर्दिष्ट पथ पर लक्ष्य मिडलवेयर फ़ंक्शन को माउंट करता है।

वाक्य - विन्यास

अनुप्रयोग। उपयोग ( पीटी, सीबी )

ऊपर दिए गए सिंटैक्स में:

  • पीटी ” उस पथ को संदर्भित करता है जिसके लिए मिडलवेयर फ़ंक्शन को लागू किया जाना है।
  • सीबी ” मिडलवेयर फ़ंक्शन से मेल खाता है।

निम्नलिखित कोड प्रदर्शन है जो एक एप्लिकेशन और चर्चा की गई विधि के माध्यम से लॉगिंग मिडलवेयर सेट करता है:

कॉन्स्ट अनुप्रयोग = अभिव्यक्त करना ( )

कॉन्स्ट लॉगमिडिलवेयर = ज़रूरत होना ( 'माय-लॉगिंग-मिडलवेयर' )

अनुप्रयोग। उपयोग ( लॉगमिडिलवेयर )

इस कोड में, एक एक्सप्रेस एप्लिकेशन बनाएं और 'शामिल करें' माय-लॉगिंग-मिडलवेयर लॉगिंग मिडलवेयर के साथ काम करना शुरू करने के लिए। अंत में, “लागू करें” ऐप.उपयोग() निर्दिष्ट पथ पर लक्ष्य मिडलवेयर फ़ंक्शन को माउंट करने के लिए फ़ंक्शन।

उदाहरण 2: राउटर के माध्यम से एप्लिकेशन से लॉगिंग मिडलवेयर सेट करना

राउटर.उपयोग() 'फ़ंक्शन लक्ष्य राउटर के माध्यम से दिए गए मार्गों के लिए मिडलवेयर को माउंट करता है।

वाक्य - विन्यास

राउटर. उपयोग ( के लिए, func )

इस वाक्यविन्यास में:

  • पीटी ” मिडलवेयर पथ को संदर्भित करता है।
  • समारोह कॉलबैक के रूप में पारित फ़ंक्शन से मेल खाता है।

नीचे दिया गया उदाहरण राउटर ऑब्जेक्ट की मदद से लॉगिंग मिडलवेयर सेट करता है और ' राउटर.उपयोग() ' समारोह:

कॉन्स्ट रूटर = अभिव्यक्त करना। रूटर ( )

कॉन्स्ट rtLoggingMiddleware = ज़रूरत होना ( 'माई-रूट-लॉगिंग-मिडलवेयर' )

राउटर. उपयोग ( rtLoggingMiddleware )

इस कोड में:

  • एक्सप्रेस.राउटर() 'फ़ंक्शन एक नया राउटर ऑब्जेक्ट बनाता है।
  • उसके बाद, शामिल करें ' मेरा-रूट-लॉगिंग-मिडलवेयर ' और इसी तरह, ' का उपयोग करें राउटर.उपयोग() लक्ष्य राउटर द्वारा प्रदत्त मार्गों के लिए मिडलवेयर माउंट करने का कार्य।

दृष्टिकोण 6: 'विंस्टन पैकेज' का उपयोग करके नोड.जेएस में लॉगिंग लागू करें

इस विशेष पैकेज में भंडारण विकल्प, एकाधिक लॉग स्तर, क्वेरीज़ और एक प्रोफाइलर शामिल हैं। निम्नलिखित कोड प्रदर्शन है जो इस दृष्टिकोण के माध्यम से लॉगिंग लागू करता है:

कॉन्स्ट एक्स = अभिव्यक्त करना ( )
कॉन्स्ट शामिल करना = ज़रूरत होना ( 'विंस्टन' )
कॉन्स्ट कंसोलट्रांसपोर्ट = नया शामिल करना। परिवहन . सांत्वना देना ( )
कॉन्स्ट चुनता है = {
परिवहन : [ कंसोलट्रांसपोर्ट ]
}
कॉन्स्ट लकड़हारा = नया शामिल करना। createLogger ( चुनता है )
फ़ंक्शन डिस्प्ले अनुरोध ( req, res, अगला ) {
लकड़हारा. जानकारी ( अनुरोध यूआरएल )
अगला ( )
}
एक्स। उपयोग ( प्रदर्शन अनुरोध )
फ़ंक्शन डिस्प्लेत्रुटि ( err, req, res, अगला ) {
लकड़हारा. गलती ( ग़लती होना )
अगला ( )
}
एक्स। उपयोग ( प्रदर्शनत्रुटि )

इस कोड में:

  • फ़िल्टरिंग के साथ एकाधिक ट्रांसपोर्ट सेट किए जा सकते हैं और कस्टम फ़ॉर्मेटर सेट किए जा सकते हैं।
  • इसके अलावा, कई लॉगर इंस्टेंसेस को विभिन्न कार्यों में निर्दिष्ट किया जाता है, अर्थात, ' लकड़हारा.जानकारी() ' और ' लकड़हारा.त्रुटि() ”।
  • ये लॉगर क्रमशः सूचना और त्रुटि संदेश प्रदर्शित करते हैं।
  • इस कोड में, केवल अनुरोधित यूआरएल लॉग किया जाता है।

नीचे दिए गए पैरामीटर लॉगर्स द्वारा लिए गए हैं:

नाम गलती करना विवरण
प्रारूप विंस्टन.format.json सूचना संदेशों को प्रारूपित करता है
चुपचाप असत्य यदि सत्य है, तो सभी लॉग निलंबित हो जाते हैं।
निकासऑनत्रुटि सत्य यदि गलत है, तो मुकाबला किए गए अपवाद प्रक्रिया.बाहर निकलने का कारण नहीं बनते हैं
स्तरों विंस्टन.config.npm.स्तर स्तर लॉग प्राथमिकताओं को संदर्भित करते हैं।

निष्कर्ष

नोड.जेएस में लॉगिंग को 'के माध्यम से कार्यान्वित किया जा सकता है कंसोल.लॉग() ' विधि, ' कंसोल.चेतावनी() ' विधि, ' कंसोल.त्रुटि() ' विधि, ' कंसोल मेज() ' विधि, ' डीबग मॉड्यूल ', या ' के माध्यम से विंस्टन पैकेज ”। कंसोल विधियाँ सूचना और त्रुटि संदेश प्रदर्शित करती हैं। डिबग मॉड्यूल वेब मिडलवेयर की स्थिति के बारे में अतिरिक्त जानकारी लॉग करता है और विंस्टन पैकेज में भंडारण विकल्प और विभिन्न लॉग स्तर शामिल हैं।