यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
NocoBase का लॉगिंग Winston पर आधारित है। डिफ़ॉल्ट रूप से, NocoBase लॉग्स को API अनुरोध लॉग्स, सिस्टम रनटाइम लॉग्स और SQL निष्पादन लॉग्स में विभाजित करता है। API अनुरोध लॉग्स और SQL निष्पादन लॉग्स एप्लिकेशन द्वारा आंतरिक रूप से प्रिंट किए जाते हैं, जबकि प्लगइन डेवलपर्स को आमतौर पर केवल प्लगइन-संबंधित सिस्टम रनटाइम लॉग्स को प्रिंट करने की आवश्यकता होती है।
यह दस्तावेज़ मुख्य रूप से बताता है कि प्लगइन विकसित करते समय लॉग्स कैसे बनाएँ और प्रिंट करें।
NocoBase सिस्टम रनटाइम लॉग्स को प्रिंट करने के तरीके प्रदान करता है। लॉग्स निर्दिष्ट फ़ील्ड्स के अनुसार प्रिंट किए जाते हैं और साथ ही निर्दिष्ट फ़ाइलों में आउटपुट किए जाते हैं।
ऊपर दिए गए सभी तरीके नीचे दिए गए उपयोग का पालन करते हैं:
पहला पैरामीटर लॉग संदेश होता है, और दूसरा पैरामीटर एक वैकल्पिक मेटाडेटा ऑब्जेक्ट होता है, जो कोई भी की-वैल्यू पेयर हो सकता है। इसमें module, submodule, और method को अलग फ़ील्ड के रूप में निकाला जाएगा, और शेष फ़ील्ड्स को meta फ़ील्ड में रखा जाएगा।
यदि आप सिस्टम के डिफ़ॉल्ट प्रिंटिंग तरीके का उपयोग करना चाहते हैं, लेकिन डिफ़ॉल्ट फ़ाइल में आउटपुट नहीं करना चाहते हैं, तो आप createSystemLogger का उपयोग करके एक कस्टम सिस्टम लॉग इंस्टेंस बना सकते हैं।
यदि आप सिस्टम द्वारा प्रदान किए गए प्रिंटिंग तरीकों का उपयोग नहीं करना चाहते हैं और Winston के नेटिव तरीकों का उपयोग करना चाहते हैं, तो आप निम्नलिखित तरीकों से लॉग्स बना सकते हैं।
createLoggeroptions मूल winston.LoggerOptions का विस्तार करता है।
transports - प्रीसेट आउटपुट तरीकों को लागू करने के लिए 'console' | 'file' | 'dailyRotateFile' का उपयोग करें।format - प्रीसेट प्रिंटिंग फ़ॉर्मेट्स को लागू करने के लिए 'logfmt' | 'json' | 'delimiter' का उपयोग करें।app.createLoggerमल्टी-एप्लिकेशन परिदृश्यों में, कभी-कभी हम कस्टम आउटपुट डायरेक्टरी और फ़ाइलें चाहते हैं, जिन्हें वर्तमान एप्लिकेशन के नाम वाली डायरेक्टरी में आउटपुट किया जा सकता है।
plugin.createLoggerउपयोग का मामला और तरीका app.createLogger के समान हैं।