paint-brush
10 सर्वश्रेष्ठ नोड.जेएस लॉगिंग लाइब्रेरीद्वारा@playerzero
51,670 रीडिंग
51,670 रीडिंग

10 सर्वश्रेष्ठ नोड.जेएस लॉगिंग लाइब्रेरी

द्वारा PlayerZero22m2023/02/15
Read on Terminal Reader

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

हमने शीर्ष 10 Node.js लॉगिंग लाइब्रेरी की सूची एक साथ रखी है और आपको उनका उपयोग करने के लिए आवश्यक कोड दिया है। आनंद लेना!
featured image - 10 सर्वश्रेष्ठ नोड.जेएस लॉगिंग लाइब्रेरी
PlayerZero HackerNoon profile picture
0-item

यह ब्लॉग लॉगिंग लाइब्रेरी के उपयोग के महत्व पर चर्चा करेगा और Node.js के लिए हमारे द्वारा देखे गए 10 सर्वश्रेष्ठ समीक्षा किए गए लॉगिंग टूल को नीचे चलाएगा। @Playerzero पर हम लॉग इवेंट बनाने और प्रबंधित करने के लिए अक्सर नोड.जेएस लॉगिंग लाइब्रेरी का उपयोग करते हैं। इस बारे में अधिक जानें कि आज हम फ्रंट और बैकएंड एप्लिकेशन दोनों के लिए क्या मायने रखते हैं, इसकी निगरानी के लिए हम अपने अद्वितीय दृष्टिकोण को कैसे ला रहे हैं https://www.playerzero.app/


  • पिनो

  • विंस्टन

  • बनियान

  • मॉर्गन

  • छांटने का स्तर

  • Log4js

  • एनपीएमलॉग

  • दहाड़

  • दरियाफ्त

  • सिगनल


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

लॉगिंग बनाम ट्रेसिंग

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


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

Node.js के लिए लॉगिंग लाइब्रेरी का उपयोग क्यों करें?

आपको Node.js लॉगिंग लाइब्रेरी का उपयोग करने के कई कारण हैं:


  1. बेहतर डिबगिंग - लॉगिंग लाइब्रेरी त्रुटियों और मुद्दों के बारे में विस्तृत जानकारी प्रदान करती है, जिससे डेवलपर्स को अधिक कुशलता से समस्याओं का निदान और समाधान करने की अनुमति मिलती है।
  2. बढ़ी हुई दृश्यता - लॉगिंग एक एप्लिकेशन के व्यवहार और प्रदर्शन का एक स्पष्ट दृश्य प्रदान करता है, जिससे डेवलपर्स को सूचित निर्णय लेने और सिस्टम में सुधार करने की अनुमति मिलती है।
  3. बेहतर प्रदर्शन - लॉगिंग लाइब्रेरी को प्रदर्शन के लिए अनुकूलित किया जा सकता है, लॉगिंग के ओवरहेड को कम किया जा सकता है और सिस्टम के समग्र प्रदर्शन में सुधार किया जा सकता है।
  4. केंद्रीकृत लॉगिंग - कई लॉगिंग लाइब्रेरी लॉग को केंद्रीकृत लॉग सर्वर पर लिखने की अनुमति देती हैं, जिससे लॉग डेटा एकत्र करना, देखना और विश्लेषण करना आसान हो जाता है।
  5. अनुकूलन - लॉगिंग लाइब्रेरी को विशिष्ट आवश्यकताओं को पूरा करने के लिए अनुकूलित किया जा सकता है, जैसे कि कस्टम लॉग स्तर, आउटपुट स्वरूप और फ़िल्टर।

लॉगिंग स्तर

लॉगिंग स्तर लॉग संदेशों के महत्व या गंभीरता को वर्गीकृत करने का एक तरीका है। आमतौर पर, कई स्तर होते हैं, गंभीर त्रुटियों से लेकर सूचनात्मक संदेशों तक, और प्रत्येक स्तर एक संख्यात्मक मान से जुड़ा होता है जिसका उपयोग लाइब्रेरी में लॉग संदेशों को फ़िल्टर करने के लिए किया जा सकता है। यहाँ सबसे आम स्तर हैं:


FATAL लॉग स्तर

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


ERROR लॉग स्तर

ERROR लॉग स्तर इंगित करता है कि एक एप्लिकेशन वर्तमान में चलने में सक्षम है, लेकिन यह एक समस्या का सामना कर रहा है। आमतौर पर, यह इंगित करता है कि एप्लिकेशन में एक आवश्यक कार्य विफल हो गया - कि एक अपवाद, अप्रत्याशित व्यवहार या गलत इनपुट था।


WARN लॉग स्तर

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


INFO लॉग स्तर

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


DEBUG लॉग स्तर

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

10 सर्वश्रेष्ठ Node.js लॉगिंग लाइब्रेरी और उनके साथ कैसे शुरुआत करें

#1। पिनो

पिनो के लाभ

Pino एक लंबे समय से स्थापित और बहुत लोकप्रिय लॉगिंग टूल है, जिसमें 10.9K से अधिक Github स्टार और npm पर लाखों डाउनलोड हैं। पिनो Node.js के लिए एक लोकप्रिय लॉगिंग लाइब्रेरी है क्योंकि यह कई प्रमुख विशेषताएं प्रदान करती है जो इसे Node.js अनुप्रयोगों में उपयोग के लिए उपयुक्त बनाती हैं:


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

  • संरचित लॉग - पिनो संदेशों को JSON प्रारूप में लॉग करता है, जो लॉग डेटा के आसान पार्सिंग, फ़िल्टरिंग और विश्लेषण की अनुमति देता है। इससे लॉग डेटा को खोजना, विज़ुअलाइज़ करना और उसका विश्लेषण करना और लॉग डेटा को अन्य सिस्टम में एकीकृत करना आसान हो जाता है।

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

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

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


Node.js एप्लिकेशन में पिनो का उपयोग करने के लिए, इन चरणों का पालन करें:

पिनो इंस्टॉल करना

पिनो को स्थापित करने के लिए, बस इसे एक नई निर्देशिका में निम्न कमांड चलाकर स्थापित करें:

 npm install pino


आयात करें - अपने Node.js एप्लिकेशन में, अपनी फ़ाइल के शीर्ष पर कोड की निम्न पंक्ति जोड़कर Pino आयात करें:

 const pino = require('pino');

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

इनिशियलाइज़ेशन - लॉगर इंस्टेंस बनाकर पिनो को इनिशियलाइज़ करें, उदाहरण के लिए:

 const logger = pino({ level: 'info' });


यह स्क्रिप्ट कंसोल पर INFO और उससे ऊपर के लॉगिंग स्तर के साथ लॉग बनाती है।


स्तर को जानकारी पर सेट करके, पिनो लॉगिंग स्तर INFO , WARN , ERROR , और FATAL के साथ संदेशों को लॉग करेगा। INFO से नीचे के लॉगिंग स्तर वाले संदेश, जैसे DEBUG , लॉग नहीं किए जाएँगे।


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

 logger.info('This is an info message');

यह कंसोल पर निम्न आउटपुट का उत्पादन करेगा:

 {"level":30,"time":1624825088703,"msg":"This is an info message","pid":1234,"hostname":"my-machine"}


कंसोल पर प्रदर्शित लॉग डेटा में लॉग स्तर, टाइमस्टैम्प जब रिकॉर्ड किया गया था, संदेश लॉग किया जा रहा है, लॉग के लिए एक पहचानकर्ता और होस्टनाम शामिल है।


लॉगिंग - आप अपने एप्लिकेशन में अन्य संदेशों को लॉग करने के लिए logger इंस्टेंस का भी उपयोग कर सकते हैं। उदाहरण के लिए:

 logger.warn('This is a warning message'); logger.error('This is an error message');


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

पिनो सुंदर स्थापित करना

पिनो का pino-pretty बेसिक एनडीजेएसओएन फॉर्मेटर फीचर पिनो लॉग्स के लिए एक बेहतरीन सरल फॉर्मेटर है, और इसे स्थापित करना आसान है। यहां बताया गया है कि इसे कैसे शुरू करें और चलाएं:


चरण 1 - अपने टर्मिनल में निम्न आदेश चलाकर अपने नोड.जेएस प्रोजेक्ट में निर्भरता के रूप में पिनो-सुंदर स्थापित करें:

 npm install pino-pretty


चरण 2 - अपनी फ़ाइल के शीर्ष पर कोड की निम्न पंक्ति जोड़कर अपने Node.js एप्लिकेशन में pino-pretty आयात करें:

 const pino = require('pino'); const pinoPretty = require('pino-pretty'); const logger = pino({ level: 'info' }); logger.pipe(pinoPretty());


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


@RisingStack द्वारा उपलब्ध सर्वोत्तम टूल के साथ Node.js को डीबग कैसे करें में पिनो के साथ डिबगिंग के बारे में और जानें

# 2। विंस्टन

विंस्टन लाभ

GitHub पर 20K से अधिक सितारों के साथ, विंस्टन Node.js के लिए एक बहुत लोकप्रिय लॉगिंग लाइब्रेरी है। विंस्टन अपने व्यापक सुविधा सेट और उपयोग में आसानी के कारण Node.js पारिस्थितिकी तंत्र में एक अद्वितीय लॉगिंग लाइब्रेरी है। विंस्टन के अलग होने के कुछ कारण हैं:


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

विंस्टन स्थापित करना

अपने नोड.जेएस प्रोजेक्ट में विंस्टन को स्थापित करने के लिए, आप अपने टर्मिनल में निम्न आदेश चलाकर एनपीएम पैकेज मैनेजर का उपयोग कर सकते हैं:

 npm install winston

विंस्टन का उपयोग करना

एक बार स्थापना पूर्ण हो जाने के बाद, आप निम्न पंक्ति को शामिल करके अपने Node.js कोड में विंस्टन का आयात और उपयोग कर सकते हैं:

 const winston = require('winston');

फिर आप अपने लॉगिंग उदाहरणों को कॉन्फ़िगर करने और बनाने के लिए विंस्टन लाइब्रेरी का उपयोग कर सकते हैं, उदाहरण के लिए:

 const logger = winston.createLogger({ level: 'info', format: winston.format.json(), transports: [ new winston.transports.Console() ] });

यह सूचना स्तर और कंसोल ट्रांसपोर्ट के साथ लॉगर इंस्टेंस बनाता है। आप इस लॉगर इंस्टेंस का उपयोग अपने एप्लिकेशन में संदेशों को लॉग करने के लिए कर सकते हैं, उदाहरण के लिए:

 logger.info('Hello World');

यह Hello World संदेश को सूचना लॉग स्तर के साथ कंसोल में लॉग करेगा।

विंस्टन में लॉगिंग स्तर

विंस्टन छह डिफ़ॉल्ट लॉगिंग स्तरों से लैस है, जो RFC5424 दस्तावेज़ में उल्लिखित दिशानिर्देशों के अनुसार व्यवस्थित हैं। स्तरों को संख्यात्मक प्राथमिकता दी जाती है, उच्चतम गंभीरता को सबसे कम संख्या सौंपी जाती है। छह स्तर और उनके संबंधित प्राथमिकता मान हैं:


 { error: 0, warn: 1, info: 2, http: 3, verbose: 4, debug: 5, silly: 6 }


छह लॉग स्तरों में से प्रत्येक के लिए, लॉगर ऑब्जेक्ट पर संबंधित विधि होती है:

 logger.error('error'); logger.warn('warn'); logger.info('info'); logger.verbose('verbose'); logger.debug('debug'); logger.silly('silly');


आप लॉगिंग स्तर का प्रतिनिधित्व करने के लिए लॉग () विधि में एक स्ट्रिंग भी पास कर सकते हैं:

 logger.log('error', 'error message'); logger.log('info', 'info message');


logger पर level संपत्ति तय करती है कि आपके द्वारा कॉन्फ़िगर किए गए ट्रांसपोर्ट पर कौन से लॉग संदेश भेजे जाएंगे। उदाहरण के लिए, यदि level संपत्ति info पर सेट है, तो केवल info या उच्च की गंभीरता वाली लॉग प्रविष्टियाँ लिखी जाएंगी और अन्य सभी को वंचित कर दिया जाएगा। इसका अर्थ है कि वर्तमान कॉन्फ़िगरेशन में, केवल info , warn और error के स्तर वाले लॉग संदेश आउटपुट होंगे।

#3। बनियान

बनियान से लाभ होता है

Bunyan Node.js के लिए एक अद्वितीय लॉगिंग लाइब्रेरी है क्योंकि लॉग डेटा को अधिक संरचित और पठनीय बनाने पर ध्यान केंद्रित किया गया है (वे सादे पाठ के बजाय JSON ऑब्जेक्ट के रूप में लॉग को क्रमबद्ध करके इसे प्राप्त करते हैं)। यहां बताया गया है कि गीथूब पर बनीन के 7k सितारे क्यों हैं:


  1. JSON प्रारूप - कुछ अन्य लॉगिंग लाइब्रेरी के विपरीत, Bunyan डेटा को JSON प्रारूप में लॉग करता है, जिससे अन्य टूल और प्लेटफॉर्म के साथ पार्स करना और एकीकृत करना आसान हो जाता है।
  2. लचीले लॉगिंग स्तर - लॉग गंभीरता स्तर और दहलीज को प्रबंधित करने के लिए Bunyan लचीले विकल्पों के साथ कई लॉगिंग स्तरों का समर्थन करता है।
  3. क्रमांकन - बनयान में, एक सुविधा मौजूद है जिसे क्रमांकन कहा जाता है, जहाँ कार्य एक जावास्क्रिप्ट वस्तु को JSON-प्रतिनिधित्व योग्य वस्तु में परिवर्तित करते हैं। यह एक विशिष्ट लॉगर इंस्टेंस को एक सीरियलाइज़र रखने की अनुमति देता है जो लॉग रिकॉर्ड फ़ील्ड नाम को सीरियलाइजेशन फ़ंक्शन से जोड़ता है।
  4. उपयोग में आसान एपीआई - बनयान लॉगिंग के लिए एक सरल, उपयोग में आसान एपीआई प्रदान करता है, जिससे यह सभी कौशल स्तरों के डेवलपर्स के लिए सुलभ हो जाता है।
  5. प्लगइन्स और ट्रांसपोर्ट - Bunyan विभिन्न प्रकार के प्लगइन्स और ट्रांसपोर्ट का समर्थन करता है, जैसे कि कंसोल, फाइल, एचटीटीपी और ईमेल, जिससे विशिष्ट जरूरतों और आवश्यकताओं को पूरा करने के लिए लॉगिंग आउटपुट को अनुकूलित करना आसान हो जाता है।

बनयान को स्थापित करना

बनीन को स्थापित करने के लिए, आप अपने टर्मिनल या कमांड प्रॉम्प्ट में निम्न आदेश चला सकते हैं:

 npm install bunyan


यह आपके Node.js प्रोजेक्ट में Bunyan लाइब्रेरी और इसकी निर्भरताओं को स्थापित करेगा। एक बार इंस्टॉल हो जाने पर, आपको अपने कोड में लाइब्रेरी की आवश्यकता हो सकती है और इसका उपयोग शुरू कर सकते हैं।

बनयान का प्रयोग

अपने प्रोजेक्ट में बनीन आयात करें - अपनी JavaScript फ़ाइल के शीर्ष पर, निम्न पंक्ति जोड़ें:

 const bunyan = require('bunyan');


एक लकड़हारा उदाहरण बनाएँ - अगला, निम्नलिखित कोड का उपयोग करके एक लकड़हारा उदाहरण बनाएँ:

 const logger = bunyan.createLogger({ name: 'my-app-name', level: 'info' });


इस उदाहरण में, name आपके एप्लिकेशन का नाम है और स्तर उस न्यूनतम स्तर को निर्दिष्ट करता है जिसे आप देखना चाहते हैं।


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

 logger.info('This is an info log message'); logger.warn('This is a warn log message'); logger.error('This is an error log message');


अपना कोड चलाएँ - अंत में, अपना कोड चलाएँ और आपको कंसोल में लॉग किए गए संदेश दिखाई देने चाहिए।

डिफ़ॉल्ट रूप से, Bunyan लॉग्स को JSON प्रारूप में आउटपुट करता है, जिससे लॉग प्रबंधन टूल के साथ लॉग्स को पार्स करना और उनका विश्लेषण करना आसान हो जाता है। आप Bunyan's streams विकल्प का उपयोग करके प्रारूप को भी अनुकूलित कर सकते हैं।

# 4। मॉर्गन

मॉर्गन लाभ

मॉर्गन कई कारणों से Node.js के लिए एक अद्वितीय लॉगिंग लाइब्रेरी है, मुख्य रूप से मिडलवेयर के रूप में इसकी अनूठी स्थिति। हमारे लेखन के समय GitHub पर 7.3K सितारों के साथ अन्य कारणों से यह बहुत लोकप्रिय हो गया है। मॉर्गन के इतना लोकप्रिय होने के कुछ कारण यहां दिए गए हैं:


  1. मिडलवेयर-आधारित - मॉर्गन Node.js एक्सप्रेस ढांचे में मिडलवेयर के रूप में काम करता है, जिससे मौजूदा एक्सप्रेस-आधारित अनुप्रयोगों में एकीकृत करना आसान हो जाता है।
  2. अनुकूलन योग्य - मॉर्गन लॉग प्रारूप से कस्टम टोकन तक, अनुकूलन विकल्पों की एक विस्तृत श्रृंखला प्रदान करता है, जिससे डेवलपर्स अपने लॉग को उनकी विशिष्ट आवश्यकताओं के अनुरूप बना सकते हैं।
  3. स्ट्रीम-आधारित - मॉर्गन विभिन्न प्रकार के आउटपुट स्ट्रीम में लॉग डेटा लिख सकता है, जिसमें कंसोल, फाइल या रिमोट सर्वर भी शामिल हैं।
  4. तेज़ और हल्का - मॉर्गन को तेज़ और हल्का डिज़ाइन किया गया है, जो इसे उच्च-ट्रैफ़िक अनुप्रयोगों के लिए उपयुक्त बनाता है जहाँ प्रदर्शन महत्वपूर्ण है।
  5. HTTP अनुरोध लॉगिंग - मॉर्गन को विशेष रूप से HTTP अनुरोधों और प्रतिक्रियाओं को लॉग करने के लिए डिज़ाइन किया गया है, जो वेब सर्वर के प्रदर्शन को डिबगिंग और विश्लेषण करने के लिए उपयोगी है।

मॉर्गन स्थापित करना

एनपीएम का उपयोग कर मॉर्गन पैकेज स्थापित करके प्रारंभ करें:

 npm install morgan

मॉर्गन का उपयोग करना

स्थापना प्रक्रिया को पूरा करने के बाद, आपको "आवश्यकता" फ़ंक्शन का उपयोग करके लाइब्रेरी को आयात करना होगा और फिर इसे अपने Express.js एप्लिकेशन में मिडलवेयर के रूप में एकीकृत करना होगा।


इसके लिए कोड निम्न जैसा दिखेगा:

 var morgan = require('morgan'); app.use(morgan('dev'));


"देव" तर्क मॉर्गन द्वारा प्रदान किया गया एक प्रारूप विकल्प है। मॉर्गन पांच अलग-अलग लॉगिंग प्रारूप प्रदान करता है, जिनमें निम्न शामिल हैं:

  1. tiny माइनसक्यूल आउटपुट है।
  2. short में प्रतिक्रिया समय शामिल होता है और डिफ़ॉल्ट रूप से लॉग को संक्षिप्त करता है।
  3. dev विकास के दौरान उपयोग के लिए एक संक्षिप्त, रंग-कोडित आउटपुट प्रदान करता है
  4. common अपाचे संयुक्त लॉग आउटपुट का भी उपयोग करता है।
  5. combined मानकीकृत अपाचे संयुक्त लॉग आउटपुट का उपयोग करता है।


मॉर्गन को अपने आवेदन में एकीकृत करते समय आप उपयुक्त तर्क का उपयोग करके इन प्रारूपों के बीच चयन कर सकते हैं, जैसा कि नीचे दिखाया गया है:

 app.use(morgan('combined')); app.use(morgan('common')); app.use(morgan('dev')); app.use(morgan('short')); app.use(morgan('tiny'));

# 5। छांटने का स्तर

लॉगलेवल लाभ

लॉगलेवल यहां सूचीबद्ध कुछ अन्य विकल्पों की तुलना में थोड़ा कम लोकप्रिय है, जीथब पर 2.4K सितारों के साथ, लेकिन फिर भी यह एक महान, हल्का लॉगिंग लाइब्रेरी बना हुआ है। यहाँ कुछ कारण दिए गए हैं कि लॉगलेवल Node.js के लिए एक अद्वितीय लॉगिंग लाइब्रेरी क्यों है:


  1. न्यूनतम कोड पदचिह्न - लॉगलेवल एक बहुत ही हल्का पुस्तकालय है, जो इसे उन परिस्थितियों के लिए आदर्श बनाता है जहां आपको न्यूनतम कोड ओवरहेड की आवश्यकता होती है।
  2. डायनेमिक लॉगिंग स्तर - लॉगलेवल डायनेमिक लॉगिंग स्तर प्रदान करता है, जो आपको रनटाइम पर लॉगिंग स्तर को बदलने की अनुमति देता है, जिससे कोड को संशोधित किए बिना लॉगिंग विवरण के विभिन्न स्तरों के बीच स्विच करना आसान हो जाता है।
  3. सिंपल एपीआई - लॉगलेवल का एपीआई सरल है, संदेशों को लॉग करने के लिए उपयोग में आसान और लचीला तरीका प्रदान करता है।
  4. ब्राउज़र संगतता - लॉगलेवल Node.js और वेब ब्राउज़र दोनों के साथ संगत है, जो इसे विभिन्न वातावरणों में लॉगिंग के लिए एक बहुमुखी विकल्प बनाता है।
  5. क्रॉस-प्लेटफ़ॉर्म संगतता - लॉगलेवल को log4js के शीर्ष पर बनाया गया है, जो व्यापक रूप से उपयोग की जाने वाली लॉगिंग लाइब्रेरी है, जो विभिन्न प्लेटफ़ॉर्म पर संगतता सुनिश्चित करती है।

लॉगलेवल की स्थापना

लॉगलेवल सेट अप करने के लिए, आपको पहले इसे npm का उपयोग करके इंस्टॉल करना होगा:

 npm install loglevel

लॉगलेवल का उपयोग करना

एक बार जब आप इसे स्थापित कर लेते हैं, तो आप इसे अपने Node.js प्रोजेक्ट में आयात कर सकते हैं और लॉग स्तर सेट करके इसका उपयोग शुरू कर सकते हैं:


 const log = require('loglevel'); log.setLevel(log.levels.ERROR);


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


 log.trace('This is a trace message'); log.debug('This is a debug message'); log.info('This is an info message'); log.warn('This is a warning message'); log.error('This is an error message');


आपके द्वारा सेट किया गया लॉग स्तर यह निर्धारित करेगा कि कौन से संदेशों को लॉग किया जाएगा और किसे अनदेखा किया जाएगा। उदाहरण के लिए, यदि लॉग स्तर जानकारी पर सेट है, तो केवल log.info और log.warn या log.error का उपयोग करके लॉग किए गए संदेश प्रदर्शित होंगे।

#6। Log4js

Log4js लाभ

बेशक, हम इसके बड़े भाई, Log4js को सूचीबद्ध किए बिना लॉगलेवल का उल्लेख नहीं कर सकते। Log4js एक जावास्क्रिप्ट लॉगिंग लाइब्रेरी है जिसे लोकप्रिय जावा लॉगिंग लाइब्रेरी Log4j के पोर्ट के रूप में शुरू किया गया था। यह जावास्क्रिप्ट अनुप्रयोगों के लिए एक समान लॉगिंग समाधान प्रदान करने के लिए बनाया गया था और तब से उन्नत लॉगिंग क्षमताओं और सुविधाओं को प्रदान करने के लिए विकसित हुआ है। Github पर 5.6k से अधिक सितारों के साथ, यहां कुछ कारण बताए गए हैं कि Log4js इतना लोकप्रिय क्यों है:


  • कॉन्फ़िगरेशन में लचीलापन - Log4js लॉगिंग के लिए कई प्रकार के विकल्प प्रदान करता है, जिसमें लॉग स्तर, विभिन्न प्रकार के परिशिष्ट (जैसे कंसोल, फ़ाइल, नेटवर्क), और एप्लिकेशन के विभिन्न भागों के लिए अलग लॉग कॉन्फ़िगरेशन निर्दिष्ट करने की क्षमता शामिल है।
  • कस्टम परिशिष्ट - Log4js कस्टम परिशिष्ट के निर्माण का समर्थन करता है, जिससे डेवलपर्स को अपनी विशिष्ट लॉगिंग आवश्यकताओं को पूरा करने के लिए पुस्तकालय का विस्तार करने की अनुमति मिलती है।
  • लॉग संदर्भ के लिए समर्थन - लॉग संदेशों को डिबगिंग के लिए अधिक उपयोगी बनाने के लिए, लॉग4js डेवलपर्स को लॉग संदेशों को अतिरिक्त प्रासंगिक जानकारी, जैसे कि उपयोगकर्ता के अनुरोध डेटा के साथ संबद्ध करने की अनुमति देता है।
  • डायनेमिक लॉग स्तर कॉन्फ़िगरेशन - Log4js रनटाइम पर लॉग स्तर को बदलने का समर्थन करता है, जिससे उत्पादन वातावरण में लॉगिंग को प्रबंधित करना आसान हो जाता है।
  • अन्य उपकरणों के साथ एकीकरण - Log4js में लोकप्रिय टूल जैसे लॉगस्टैश और ग्रेलॉग के लिए अंतर्निहित समर्थन है, जिससे लॉगिंग को व्यापक एप्लिकेशन मॉनिटरिंग और विश्लेषण वर्कफ़्लो में एकीकृत करना आसान हो जाता है।

Log4js की स्थापना

Log4js को स्थापित करने के लिए, आप अपने टर्मिनल में निम्नलिखित कमांड चलाकर npm पैकेज मैनेजर का उपयोग कर सकते हैं:


 npm install log4js


यह Log4js और इसकी निर्भरताओं के नवीनतम संस्करण को स्थापित करेगा। फिर आप अपने Node.js एप्लिकेशन में लाइब्रेरी की आवश्यकता कर सकते हैं और संदेशों को लॉग करने के लिए इसका उपयोग करना शुरू कर सकते हैं।

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

Log4js का उपयोग शुरू करने के लिए, पहले इसे अपने कोड में आवश्यक करें और इसे कॉन्फ़िगर करें:

 const log4js = require('log4js'); log4js.configure({ appenders: { console: { type: 'console' } }, categories: { default: { appenders: ['console'], level: 'info' } } }); const logger = log4js.getLogger();


फिर आप विभिन्न स्तरों पर संदेशों को लॉग करने के लिए लकड़हारे का उपयोग कर सकते हैं:

 logger.trace('Entering cheese testing'); logger.debug('Got cheese.'); logger.info('Cheese is Gouda.'); logger.warn('Cheese is quite smelly.'); logger.error('Cheese is too ripe!'); logger.fatal('Cheese was breeding ground for listeria.');


विभिन्न लॉग स्तरों के साथ एकाधिक परिशिष्टों (कंसोल और फ़ाइल) में संदेशों को लॉग करने के लिए Log4js का उपयोग करने का एक उदाहरण यहां दिया गया है:

 const log4js = require('log4js'); log4js.configure({ appenders: { console: { type: 'console' }, file: { type: 'file', filename: 'app.log' } }, categories: { default: { appenders: ['console'], level: 'info' }, file: { appenders: ['file'], level: 'error' } } }); const logger = log4js.getLogger(); const fileLogger = log4js.getLogger('file'); logger.info('This is an informational message'); fileLogger.error('This is an error message');


इस उदाहरण में, "डिफ़ॉल्ट" श्रेणी वाले लकड़हारे को स्तर की जानकारी या कंसोल से ऊपर वाले संदेशों को लॉग करने के लिए कॉन्फ़िगर किया गया है। श्रेणी "फ़ाइल" के साथ लकड़हारा स्तर त्रुटि या फ़ाइल के ऊपर के साथ संदेश लॉग करने के लिए कॉन्फ़िगर किया गया है। दो लकड़हारे अपने-अपने परिशिष्टों को संदेशों को लॉग करने के लिए एक दूसरे के स्थान पर उपयोग किए जा सकते हैं।

#7। एनपीएमलॉग

एनपीएमओएल लाभ

Npmlog का अनूठा मूल्य इसकी सादगी और न्यूनतम ओवरहेड में निहित है, जो इसे छोटे पैमाने या प्रदर्शन-संवेदनशील परियोजनाओं में उपयोग के लिए उपयुक्त बनाता है। एनपीएम पारिस्थितिकी तंत्र के साथ मूल रूप से कॉन्फ़िगर करना और एकीकृत करना आसान है (एनपीएम की आधिकारिक लॉगर उपयोगिता के बाद से आश्चर्यजनक), यह हल्के लॉगिंग समाधान की तलाश करने वाले डेवलपर्स के लिए एक लोकप्रिय विकल्प बनाता है। यहाँ कुछ कारण बताए गए हैं कि क्यों npmlog ने सूची बनाई:


  1. लाइटवेट - npmlog का एक छोटा कोडबेस और न्यूनतम ओवरहेड है, जो इसे छोटे पैमाने या प्रदर्शन-संवेदनशील परियोजनाओं के लिए उपयुक्त बनाता है।
  2. एनपीएम के साथ आसान एकीकरण - एनपीएमलॉग विशेष रूप से एनपीएम पारिस्थितिकी तंत्र के भीतर उपयोग के लिए डिज़ाइन किया गया है, जिससे इसे अन्य एनपीएम पैकेजों और उपकरणों के साथ एकीकृत करना आसान हो जाता है।
  3. अनुकूलन योग्य - npmlog आपको लॉग स्तर, स्ट्रीम और उपसर्ग को अनुकूलित करने की अनुमति देता है, जिससे आपको अपने लॉग उत्पन्न और प्रदर्शित होने पर पूर्ण नियंत्रण मिलता है।
  4. वर्सेटाइल - npmlog परियोजनाओं की एक विस्तृत श्रृंखला के लिए उपयुक्त है, छोटी स्क्रिप्ट से लेकर बड़े अनुप्रयोगों तक, इसे एक बहुमुखी और लचीला लॉगिंग टूल बनाता है।
  5. उपयोग करने में आसान - npmlog में एक सीधा एपीआई है और इसके लिए न्यूनतम सेटअप की आवश्यकता होती है, जिससे यह आपके Node.js प्रोजेक्ट में लॉगिंग के साथ आरंभ करना त्वरित और आसान हो जाता है।

एनपीएमलॉग स्थापित करना

Npmlog को स्थापित करने के लिए, आपको अपने मशीन पर Node.js और npm (नोड पैकेज मैनेजर) स्थापित करने की आवश्यकता है। उसके बाद, आप अपने टर्मिनल या कमांड प्रॉम्प्ट में निम्न आदेश चला सकते हैं:

 npm install npmlog


यह npmlog और इसकी निर्भरता के नवीनतम संस्करण को डाउनलोड और इंस्टॉल करेगा, जिससे आप इसे अपने Node.js प्रोजेक्ट में उपयोग कर सकेंगे।

एनपीएमओएल का उपयोग करना

यहाँ कैसे एक Node.js परियोजना में npmlog का उपयोग करने का एक उदाहरण दिया गया है:

 const log = require('npmlog'); log.level = 'verbose'; log.verbose('This is a verbose message'); log.info('This is an informational message'); log.warn('This is a warning'); log.error('This is an error');


इस उदाहरण में, हम npmlog मॉड्यूल की आवश्यकता से शुरू करते हैं और इसे एक चर के लिए निर्दिष्ट करते हैं। फिर, हम लॉग स्तर को verbose पर सेट करते हैं, जिसका अर्थ है कि verbose , info , warn और error के लॉग स्तर वाले संदेश प्रदर्शित किए जाएंगे। फिर हम verbose , info , warn और error विधियों का उपयोग करके विभिन्न स्तरों पर संदेशों को लॉग करते हैं।


ध्यान दें कि डिफ़ॉल्ट रूप से, npmlog process.stderr को लिखता है। अगर आपको process.stdout पर लिखना है, तो आप log.stream प्रॉपर्टी का इस्तेमाल कर सकते हैं।

# 8। दहाड़

गरजने से लाभ होता है

roarr लाइब्रेरी एक Node.js लॉगिंग टूल है जिसे आरंभीकरण की आवश्यकता के बिना संरचित डेटा का उत्पादन करने के लिए डिज़ाइन किया गया है। इसमें एक कमांड-लाइन इंटरफ़ेस (CLI) है और यह पर्यावरण चर का समर्थन करता है, जिससे यह बहुमुखी और उपयोग में आसान हो जाता है। इसके अतिरिक्त, रोरर Node.js और ब्राउज़र वातावरण दोनों के साथ संगत है, जो इसे अनुप्रयोगों की एक विस्तृत श्रृंखला के लिए एक बहुमुखी लॉगिंग समाधान बनाता है।


यहां कुछ प्रमुख बिंदु दिए गए हैं जो दहाड़ पुस्तकालय के अद्वितीय मूल्य को उजागर करते हैं:


  1. संरचित लॉगिंग - पुस्तकालय एक संरचित प्रारूप में लॉग उत्पन्न करता है, जिससे मशीन-पठनीय उपकरणों का उपयोग करके लॉग को संसाधित करना और विश्लेषण करना आसान हो जाता है।
  2. रिच मेटाडेटा - रोर मेटाडेटा का एक समृद्ध सेट प्रदान करता है, जैसे कि अनुरोध और प्रतिक्रिया जानकारी, जिसका उपयोग समस्याओं का निदान करने और आपके लॉग की समग्र गुणवत्ता में सुधार करने के लिए किया जा सकता है।
  3. मानव-पठनीय - इसके संरचित प्रारूप के बावजूद, दहाड़ते लॉग भी मानव-पठनीय होने के लिए डिज़ाइन किए गए हैं, जिससे आपके लॉग के संदर्भ और सामग्री को समझना आसान हो जाता है।
  4. उपयोग में आसान - पुस्तकालय बिना किसी अनावश्यक जटिलता के लॉगिंग के लिए एक सरल और सहज एपीआई प्रदान करता है।
  5. अनुकूलन योग्य - दहाड़ पुस्तकालय आपको अपने लॉग की उपस्थिति और सामग्री को अनुकूलित करने की अनुमति देता है, जिसमें लॉग स्तर, स्ट्रीम और मेटाडेटा को अनुकूलित करने के विकल्प शामिल हैं।

रोर स्थापित करना

सबसे पहले, एनपीएम का उपयोग करके दहाड़ स्थापित करें:

 npm install roarr

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

इसके बाद, roarr को अपने कोड में इम्पोर्ट करें और एक लकड़हारा बनाएँ:

 const Roarr = require('roarr').default; const logger = new Roarr({ context: { service: 'my-service' } });

लॉग संदेश log विधि का उपयोग कर:

 logger.info('Hello, world!');

डिफ़ॉल्ट रूप से, दहाड़ते लॉग कंसोल में आउटपुट होंगे। आप stream विकल्प का उपयोग करके फ़ाइल जैसे किसी भिन्न स्ट्रीम को निर्दिष्ट करके लॉग आउटपुट को अनुकूलित कर सकते हैं:

 const Roarr = require('roarr').default; const fs = require('fs'); const logger = new Roarr({ context: { service: 'my-service' }, stream: fs.createWriteStream('./my-service.log') });

यह कैसे दहाड़ का उपयोग करने का एक बुनियादी उदाहरण है। कई और विकल्प और सुविधाएँ उपलब्ध हैं, इसलिए अधिक जानकारी के लिए आधिकारिक दहाड़ दस्तावेज़ीकरण का संदर्भ लेना सुनिश्चित करें।

#9। दरियाफ्त

अनुरेखक लाभ

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


  1. अतुल्यकालिक लॉगिंग - ट्रेसर अतुल्यकालिक लॉगिंग का उपयोग करता है जिसका अर्थ है कि लॉग प्रोग्राम के निष्पादन को रोक नहीं रहे हैं।
  2. संरचित लॉगिंग - ट्रेसर संरचित लॉगिंग प्रदान करता है, जिसका अर्थ है कि लॉग कुंजी-मूल्य जोड़े में व्यवस्थित होते हैं, जिससे लॉग डेटा को खोजना, विश्लेषण करना और कल्पना करना आसान हो जाता है।
  3. अनुकूलन योग्य आउटपुट - ट्रैसर एक अनुकूलन योग्य आउटपुट स्वरूप प्रदान करता है, जिससे डेवलपर्स कंसोल, फ़ाइल, या क्लाउड-आधारित सेवाओं जैसे AWS CloudWatch सहित अपने लॉग के लिए प्रारूप और गंतव्य चुन सकते हैं।
  4. रिच लॉगिंग संदर्भ - ट्रेसर एक समृद्ध लॉगिंग संदर्भ प्रदान करता है, जिसमें मेटाडेटा जैसे अनुरोध आईडी, उपयोगकर्ता आईडी और लॉग में अन्य जानकारी संलग्न करने की क्षमता शामिल है।
  5. मिडिलवेयर समर्थन - ट्रेसर मिडलवेयर समर्थन प्रदान करता है, जिससे डेवलपर्स आसानी से अपने Express.js या Koa.js अनुप्रयोगों में लॉगिंग जोड़ सकते हैं।

ट्रेसर स्थापित करना

ट्रेसर को नोड पैकेज मैनेजर (एनपीएम) का उपयोग करके स्थापित किया जा सकता है। ट्रैसर को स्थापित करने के चरण यहां दिए गए हैं:


  1. अपना टर्मिनल या कमांड प्रॉम्प्ट खोलें
  2. अपनी वर्तमान निर्देशिका को अपने Node.js प्रोजेक्ट निर्देशिका में बदलें
  3. ट्रेसर को स्थापित करने के लिए निम्नलिखित कमांड चलाएँ:


 npm install tracer


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

ट्रैसर का उपयोग करना

अपने कोड में ट्रैसर का उपयोग करने का एक उदाहरण यहां दिया गया है:


 const tracer = require('tracer'); const logger = tracer.console(); logger.info('Starting the application...');


इस उदाहरण में, हमें पहले ट्रैसर लाइब्रेरी की आवश्यकता होती है, फिर tracer.console() विधि का उपयोग करके एक कंसोल लॉगर बनाएं। अंत में, हम लॉगर ऑब्जेक्ट पर info विधि का उपयोग करके एक सूचनात्मक संदेश लॉग करते हैं।


ट्रैसर का उपयोग करने का एक और उदाहरण यहां दिया गया है:

 const tracer = require('tracer'); const logger = tracer.dailyfile({root: './logs', maxLogFiles: 10}); logger.error('An error has occurred:', new Error('Something went wrong'));


इस उदाहरण में, हम एक फ़ाइल लकड़हारा बनाने के लिए tracer.dailyfile विधि का उपयोग कर रहे हैं जो एक दैनिक घूमने वाली फ़ाइल में लॉग लिखता है। root विकल्प उस निर्देशिका को निर्दिष्ट करता है जहां लॉग फ़ाइलें संग्रहीत की जाएंगी, और maxLogFiles विकल्प लॉग फ़ाइलों की संख्या को सीमित करता है जिन्हें रखा जाएगा।


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

#10। सिगनल

सिगनल लाभ

इसका जीथब पृष्ठ "हैक करने योग्य और मूल रूप से कॉन्फ़िगर करने योग्य" होने का दावा करता है, और यह नोड.जेएस समुदाय में सिग्नल को ऐसी प्यारी लॉगिंग लाइब्रेरी बनाने का एक प्रमुख हिस्सा है। लाइब्रेरी को उन कठिनाइयों के समाधान के रूप में बनाया गया था जिनका सामना डेवलपर्स को Node.js अनुप्रयोगों में संदेशों को लॉग करने का प्रयास करते समय करना पड़ता है, जैसे अव्यवस्थित और पढ़ने में मुश्किल लॉग। यहाँ वह है जो इसे पैक से अलग करता है:


  1. अनुकूलन योग्य लॉग आउटपुट - Signale विभिन्न प्रकार के अनुकूलन योग्य लॉग आउटपुट प्रदान करता है, जिससे डेवलपर्स को सरल कंसोल आउटपुट से लेकर JSON और Logfmt जैसे अधिक उन्नत आउटपुट तक अपनी आवश्यकताओं के अनुरूप आउटपुट चुनने की अनुमति मिलती है।
  2. सहज API - Signale में एक सरल और सहज API है, जो डेवलपर्स के लिए उपयोग करना और समझना आसान बनाता है, यहां तक कि उन लोगों के लिए भी जो लॉगिंग में नए हैं।
  3. स्टाइल आउटपुट - सिग्नेले स्टाइल आउटपुट प्रदान करता है, लॉग को अधिक पठनीय और देखने में आकर्षक बनाता है, जिससे महत्वपूर्ण लॉग संदेशों को जल्दी से पहचानना आसान हो जाता है।
  4. रिच लॉग प्रसंग - सिग्नेले समृद्ध लॉग संदर्भ प्रदान करता है, जैसे टाइमस्टैम्प और लॉग स्तर, जिससे लॉग का विश्लेषण करना और समझना आसान हो जाता है।
  5. सक्रिय समुदाय - Signale के पास डेवलपर्स और योगदानकर्ताओं का एक बड़ा और सक्रिय समुदाय है, जो यह सुनिश्चित करता है कि पुस्तकालय अच्छी तरह से बनाए रखा गया है और नवीनतम तकनीकों और सर्वोत्तम प्रथाओं के साथ अद्यतित है।

सिगनल स्थापित करना

Signale को स्थापित करने के लिए, आप अपने टर्मिनल में निम्नलिखित कमांड चलाकर npm, Node.js पैकेज प्रबंधक का उपयोग कर सकते हैं:

 npm install signale


वैकल्पिक रूप से, आप अपने टर्मिनल में निम्न आदेश चलाकर Signale को स्थापित करने के लिए यार्न का उपयोग भी कर सकते हैं:

 yarn add signale


एक बार इंस्टॉल हो जाने के बाद, आप Signale को अपने Node.js एप्लिकेशन में इम्पोर्ट कर सकते हैं और संदेशों और डिबगिंग जानकारी को लॉग करने के लिए इसका उपयोग करना शुरू कर सकते हैं।

सिगनल का उपयोग करना

यहां आपके Node.js एप्लिकेशन में Signale को आयात करने और संदेशों को लॉग करने के लिए इसका उपयोग करने का एक उदाहरण दिया गया है:


 const signale = require('signale'); // Log an info message signale.info('Starting up the server'); // Log a success message signale.success('Server started successfully'); // Log a warning message signale.warn('Low memory warning'); // Log an error message signale.error(new Error('An error occurred while processing data'));


इस उदाहरण में, हम require फ़ंक्शन का उपयोग करके अपने Node.js एप्लिकेशन में Signale को आयात करते हैं। फिर, हम विभिन्न प्रकार के संदेशों को लॉग करने के लिए Signale द्वारा प्रदान की गई विभिन्न लॉगिंग विधियों, जैसे कि info , success , warn और error का उपयोग करते हैं। इन विधियों में से प्रत्येक का एक विशिष्ट प्रतीक और रंग है, जिससे लॉग संदेश के प्रकार को जल्दी से पहचानना आसान हो जाता है।


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


Node.js लॉग लाइब्रेरी के साथ अपनी डिबगिंग प्रक्रिया को अनुकूलित करें

अपने Node.js एप्लिकेशन को डीबग करने के लिए एक तेज़ और कुशल विधि की तलाश में हैं? इस आलेख में उल्लिखित एक या अधिक पुस्तकालयों को देखें, उनमें से प्रत्येक एक बढ़िया विकल्प है। हालाँकि, पिनो हमारी पसंद की निजी लॉगिंग लाइब्रेरी है, जो 😉 लायक है


परीक्षण/विकास वातावरण और उत्पादन दोनों में Node.js अनुप्रयोगों को डीबग करते समय ये लॉगिंग लाइब्रेरी महत्वपूर्ण साबित हुई हैं।


साथ ही, उन्हें PlayerZero जैसे निगरानी समाधान के साथ एकीकृत करके, आप अपने Node.js अनुप्रयोगों के प्रदर्शन में और भी अधिक अंतर्दृष्टि प्राप्त कर सकते हैं।


इस बारे में अधिक जानने के लिए एक डेमो बुक करें कि कैसे आज प्लेयरजीरो आपके बैकएंड एप्लिकेशन के प्रदर्शन को अनुकूलित करने में आपकी मदद कर सकता है!


यहाँ भी प्रकाशित हुआ।