इसे यहां रख रहा हूं ताकि मेरे बाद कोई भी इन कॉन्फ़िगरेशन को आसानी से ढूंढ सके।
अपनी नौकरी पर मैं जावा के साथ प्रतिक्रियाशील शैली के साथ एक माइक्रोसर्विस लिख रहा हूं। मैं पैनाचे के साथ मोंगोडब का भी उपयोग कर रहा हूं। हाल ही में मुझे एक समस्या का सामना करना पड़ा जहां मेरी एक क्वेरी मोंगो कंपास से पूरी तरह से काम कर रही थी लेकिन पैनाचे के साथ यह अपेक्षा के अनुरूप काम नहीं कर रही थी। इसलिए मुझे उस क्वेरी को देखने की ज़रूरत थी जो पैनाचे उत्पन्न कर रही थी।
क्वार्कस का आधिकारिक दस्तावेज़ आउटपुट में मोंगोडब क्वेरी को लॉग करने का एक तरीका प्रदान करता है। दुर्भाग्य से यह केवल गैर प्रतिक्रियाशील जावा के लिए काम करता है और गाइड इसका उचित उल्लेख नहीं करता है।
quarkus.log.category."io.quarkus.mongodb.panache.common.runtime".level=DEBUG
सबसे पहले मैंने सोचा कि किसी कारण से शायद मेरा प्रोजेक्ट कॉन्फ़िगरेशन गलत था या शायद कॉन्फ़िगरेशन विरोधाभासी थे और इसीलिए यह लॉग नहीं दिखा रहा था। मैंने कभी नहीं सोचा कि प्रतिक्रियाशील कोडिंग क्या समस्या थी। इसलिए मैंने समस्या को अन्य तरीकों से डीबग किया और अपनी समस्या का उचित समाधान पाया।
उसके बाद मैं कुछ हद तक परेशान हो गया और खुद से पूछता रहा कि क्वेरी लॉगिंग काम क्यों नहीं कर रही है और निराश हो गया। फिर एक यूरेका क्षण में मैंने कॉन्फ़िगरेशन कुंजी को ध्यान से देखा और मैं स्पष्ट रूप से देख सकता हूं कि लॉग एक श्रेणी io.quarkus.mongodb.panache.common.runtime को सक्षम कर रहा था इसलिए मैं उस पैकेज की तलाश में गया। मेरे जेटब्रेन आईडीई से मुझे यह मिला और मैं स्पष्ट रूप से देख सकता हूं कि एक कॉमन.रनटाइम.कॉमनपैनचेक्वेरीइम्प्ल और दूसरा कॉमन.रिएक्टिव.रनटाइम.कॉमनरीएक्टिवपैनचेक्वेरीइम्प्ल है।
इसलिए मैंने उस श्रेणी के आधार पर फ़िल्टर करने का प्रयास किया और यह काम कर गया :)
तो समाधान केवल इस श्रेणी पर DEBUG को सक्षम करना है। तो इस लाइन को अपने application.properties में जोड़ें।
quarkus.log.category."io.quarkus.mongodb.panache.common.reactive.runtime".level=DEBUG
अब लॉगिंग काम कर रही है
खोज करते समय मुझे क्वेरी लॉगिंग सक्षम करने का एक और तरीका मिला है, लेकिन यह मोंगोडब ड्राइवर से लॉगिंग है। इसे सक्षम करने के लिए बस इसे application.properties
में जोड़ें
quarkus.log.category."org.mongodb.driver.protocol.command".level=DEBUG
परिणाम इस तरह दिखता है, यह डीबी से भी परिणाम आउटपुट करता है।
बस सोचा कि मैं इन कॉन्फ़िगरेशन को यहां किसी ऐसे व्यक्ति के संदर्भ के रूप में पोस्ट करूंगा जो पैनाचे के साथ प्रतिक्रियाशील जावा कर रहा है। चूँकि मैंने अपने सप्ताहांतों में से एक को अन्य चीज़ों के साथ-साथ यह पता लगाने में भी बिताया है। मैं संभवतः एक वरिष्ठ सॉफ्टवेयर इंजीनियर के रूप में अपनी यात्रा के बारे में एक लंबी पोस्ट बनाऊंगा जिसमें पैनाचे क्षमता के मुद्दे को डीबग किया जाएगा और एक जूनियर इन्हें कैसे नेविगेट कर सकता है और इस दौरान मेरी चरण-दर-चरण विचार प्रक्रिया क्या थी।
मैंने ये सब सीखा है क्योंकि मैं खुद से पूछता रहा "यह काम क्यों नहीं करेगा?" और यह मुझे परेशान करता रहा।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3