प्रत्येक मजबूत लॉगिंग सिस्टम में तीन प्रमुख घटक होते हैं: एक कलेक्टर, एक स्टोरेज और एक विज़ुअलाइज़र। विंस्टन और पिनो जैसे लोकप्रिय Node.js लॉगिंग मॉड्यूल पूरी तरह से लॉग कलेक्टर के रूप में कार्य करते हैं। हालाँकि, इरसोल एक संपूर्ण लॉगिंग समाधान प्रदान करता है जिसमें शामिल हैं:
लॉग स्टोरेज: किसी फ़ाइल या अपने एप्लिकेशन के डेटाबेस में लॉग सहेजें।
अंतर्निहित डैशबोर्ड: अंतर्निर्मित डैशबोर्ड का उपयोग करके लॉग देखें, फ़िल्टर करें और खोजें।
अलर्ट: गंभीर त्रुटियों के लिए वास्तविक समय सूचनाएं प्राप्त करें।
एरसोल का उपयोग करने के लिए, आपको अपने चुने हुए डेटाबेस के आधार पर स्टोरेज मॉड्यूल के साथ-साथ इररसोल मॉड्यूल स्थापित करना होगा। यहां विभिन्न भंडारण विकल्पों के लिए इंस्टॉलेशन चरण दिए गए हैं:
npm install errsole errsole-sqlite
npm install errsole errsole-mongodb
npm install errsole errsole-mysql
npm install errsole errsole-postgres
वास्तविक जीवन के Node.js प्रोजेक्ट में, आपके पास कई फ़ाइलें होंगी। अपने प्रोजेक्ट की प्रत्येक फ़ाइल में इरसोल लॉगर का उपयोग करने के लिए, एक लॉगर.जेएस फ़ाइल बनाएं और उसमें इरसोल को आरंभ करें:
const errsole = require('errsole'); const ErrsoleSQLite = require('errsole-sqlite'); errsole.initialize({ storage: new ErrsoleSQLite('/tmp/logs.sqlite') }); module.exports = errsole;
अब, आप अपने प्रोजेक्ट की प्रत्येक फ़ाइल में logger.js फ़ाइल आयात कर सकते हैं और लॉग करने के लिए इसका उपयोग कर सकते हैं:
const logger = require('./logger'); // Example usage logger.info('This is an informational message.'); logger.error('This is an error message.');
एरसोल लॉगर फ़ंक्शन कंसोल.लॉग के समान तर्क लेते हैं। आप अल्पविराम से अलग किए गए एक या अधिक स्ट्रिंग, ऑब्जेक्ट या वेरिएबल प्रदान कर सकते हैं। इसके अतिरिक्त, आप मेटा फ़ंक्शन का उपयोग करके अपने लॉग संदेशों में मेटाडेटा संलग्न कर सकते हैं। यह मेटाडेटा कोई भी प्रासंगिक जानकारी हो सकती है, जैसे HTTP अनुरोध या डेटाबेस क्वेरी परिणाम।
logger.meta({ reqBody: req.body, queryResults: results }).error(err); logger.meta({ email: req.body.email }).log('User logged in');
एरसोल लॉगर पांच लॉग स्तरों के लिए फ़ंक्शन प्रदान करता है: अलर्ट, त्रुटि, चेतावनी, जानकारी और डीबग।
लॉग / जानकारी: संदेशों या जानकारी को लॉग करने के लिए उपयोग करें।
logger.log('Logging a message'); logger.log('Multiple', 'arguments', 'are supported'); logger.log('Logging with a variable:', var1); logger.log(new Error('An error occurred')); logger.log('Logging with an error object:', errorObject);
चेतावनी: एक संदेश लॉग करता है और ईमेल या स्लैक जैसे कॉन्फ़िगर किए गए चैनलों पर एक अधिसूचना भेजता है।
logger.alert('Alert! Something critical happened');
त्रुटि: विशेष रूप से त्रुटियों को लॉग करने के लिए डिज़ाइन किया गया है।
logger.error(new Error('An error occurred'));
चेतावनी: चेतावनी संदेश लॉग करता है।
logger.warn('This is a warning message');
डीबग: लॉग डीबग जानकारी, आमतौर पर विकास के दौरान समस्या निवारण के लिए उपयोग की जाती है।
logger.debug('Debugging information');
जब भी आपका Node.js एप्लिकेशन क्रैश हो जाता है, तो एर्रसोल आपकी विकास टीम को एक वास्तविक समय अधिसूचना भेजता है। इस अधिसूचना में त्रुटि संदेश, ऐप का नाम, पर्यावरण का नाम और सर्वर का नाम शामिल है।
इस अधिसूचना सूची में महत्वपूर्ण त्रुटियां जोड़ने के लिए, अपने कोड में logger.alert का उपयोग करें। हालाँकि, अपने डेवलपर्स पर सूचनाओं की बाढ़ रोकने के लिए इसका अत्यधिक उपयोग करने से बचें। भुगतान विफलताओं या डेटाबेस क्वेरी विफलताओं जैसी गंभीर त्रुटियों के लिए इसका उपयोग करें। त्रुटि ऑब्जेक्ट को अलर्ट फ़ंक्शन में रखें और मेटा फ़ंक्शन में सभी प्रासंगिक जानकारी जोड़ें। यह डेवलपर्स को महत्वपूर्ण त्रुटियों को आसानी से डीबग करने की अनुमति देता है।
logger.meta({ reqBody: req.body, queryResults: results }).alert(err);
आपके Node.js एप्लिकेशन में संपूर्ण लॉगिंग समाधान शामिल करने से मजबूत लॉग प्रबंधन और कुशल डिबगिंग सुनिश्चित होती है। इरसोल लॉग स्टोरेज, एक अंतर्निर्मित डैशबोर्ड और वास्तविक समय सूचनाएं प्रदान करता है, जिससे यह एक संपूर्ण लॉगिंग टूल बन जाता है।
एरसोल के साथ शुरुआत करने के लिए, https://github.com/errsole/errsole.js पर जाएं।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3