यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
NocoBase pino पर आधारित एक उच्च-प्रदर्शन लॉगिंग सिस्टम प्रदान करता है। जहाँ भी आपके पास context तक पहुँच हो, आप ctx.logger के माध्यम से एक लॉगर इंस्टेंस प्राप्त कर सकते हैं, जिसका उपयोग प्लगइन या सिस्टम के चलने के दौरान महत्वपूर्ण लॉग रिकॉर्ड करने के लिए किया जाता है।
ये विधियाँ विभिन्न लॉग स्तरों (उच्च से निम्न तक) के अनुरूप हैं:
| स्तर | विधि | विवरण |
|---|---|---|
fatal | ctx.logger.fatal() | घातक त्रुटियाँ, आमतौर पर प्रोग्राम बंद होने का कारण बनती हैं |
error | ctx.logger.error() | त्रुटि लॉग, अनुरोध या ऑपरेशन की विफलता का संकेत देते हैं |
warn | ctx.logger.warn() | चेतावनी जानकारी, संभावित जोखिमों या अप्रत्याशित स्थितियों के प्रति सचेत करती है |
info | ctx.logger.info() | सामान्य रनटाइम जानकारी |
debug | ctx.logger.debug() | डेवलपमेंट वातावरण के लिए डीबग जानकारी |
trace | ctx.logger.trace() | विस्तृत ट्रेस जानकारी, आमतौर पर गहन निदान के लिए |
प्रत्येक लॉग आउटपुट संरचित JSON प्रारूप में होता है, जिसमें डिफ़ॉल्ट रूप से निम्नलिखित फ़ील्ड शामिल होते हैं:
| फ़ील्ड | प्रकार | विवरण |
|---|---|---|
level | number | लॉग स्तर |
time | number | टाइमस्टैम्प (मिलीसेकंड) |
pid | number | प्रोसेस ID |
hostname | string | होस्टनाम |
msg | string | लॉग संदेश |
| अन्य | object | कस्टम संदर्भ जानकारी |
उदाहरण आउटपुट:
ctx.logger स्वचालित रूप से संदर्भ जानकारी इंजेक्ट करता है, जैसे कि वर्तमान प्लगइन, मॉड्यूल, या अनुरोध का स्रोत, जिससे लॉग को उनके स्रोत तक अधिक सटीक रूप से ट्रैक किया जा सकता है।
उदाहरण आउटपुट (संदर्भ के साथ):
आप प्लगइन में कस्टम लॉगर इंस्टेंस बना सकते हैं, जो डिफ़ॉल्ट कॉन्फ़िगरेशन को इनहेरिट या एक्सटेंड करते हैं:
चाइल्ड लॉगर मुख्य लॉगर के कॉन्फ़िगरेशन को इनहेरिट करते हैं और स्वचालित रूप से संदर्भ संलग्न करते हैं।
Pino के लॉग स्तर उच्च से निम्न तक संख्यात्मक परिभाषा का पालन करते हैं, जहाँ छोटी संख्याएँ कम प्राथमिकता दर्शाती हैं। नीचे लॉग स्तरों का पूरा पदानुक्रम दिया गया है:
| स्तर का नाम | मान | विधि का नाम | विवरण |
|---|---|---|---|
fatal | 60 | logger.fatal() | घातक त्रुटियाँ, आमतौर पर प्रोग्राम को आगे चलने में असमर्थ बनाती हैं |
error | 50 | logger.error() | सामान्य त्रुटियाँ, अनुरोध की विफलता या ऑपरेशन में अपवाद का संकेत देती हैं |
warn | 40 | logger.warn() | चेतावनी जानकारी, संभावित जोखिमों या अप्रत्याशित स्थितियों के प्रति सचेत करती है |
info | 30 | logger.info() | सामान्य जानकारी, सिस्टम की स्थिति या सामान्य ऑपरेशनों को रिकॉर्ड करती है |
debug | 20 | logger.debug() | डेवलपमेंट चरण में समस्या विश्लेषण के लिए डीबग जानकारी |
trace | 10 | logger.trace() | गहन निदान के लिए विस्तृत ट्रेस जानकारी |
silent | -Infinity | (कोई संबंधित विधि नहीं) | सभी लॉग आउटपुट बंद करें |
Pino केवल उन लॉग को आउटपुट करता है जो वर्तमान level कॉन्फ़िगरेशन से बड़े या उसके बराबर होते हैं। उदाहरण के लिए, जब लॉग स्तर info होता है, तो debug और trace लॉग को अनदेखा कर दिया जाएगा।
संदर्भ लॉगर का उपयोग करें
प्लगइन, मॉडल, या एप्लिकेशन संदर्भों में ctx.logger का उपयोग करें, ताकि स्रोत जानकारी स्वचालित रूप से साथ आए।
लॉग स्तरों में अंतर करें
error का उपयोग करेंinfo का उपयोग करेंdebug का उपयोग करेंअत्यधिक लॉगिंग से बचें
विशेष रूप से debug और trace स्तरों पर, इन्हें केवल डेवलपमेंट वातावरण में सक्षम करने की सलाह दी जाती है।
संरचित डेटा का उपयोग करें
स्ट्रिंग को जोड़ने के बजाय ऑब्जेक्ट पैरामीटर पास करें, जो लॉग विश्लेषण और फ़िल्टरिंग में मदद करता है।
इन प्रथाओं का पालन करके, डेवलपर्स प्लगइन के निष्पादन को अधिक कुशलता से ट्रैक कर सकते हैं, समस्याओं का निवारण कर सकते हैं, और लॉगिंग सिस्टम को संरचित और एक्स्टेंसिबल बनाए रख सकते हैं।