"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > पैनाचे के साथ क्वार्कस के लिए प्रतिक्रियाशील जावा में मोंगोडब क्वेरी लॉगिंग कैसे सक्षम करें

पैनाचे के साथ क्वार्कस के लिए प्रतिक्रियाशील जावा में मोंगोडब क्वेरी लॉगिंग कैसे सक्षम करें

2024-07-30 को प्रकाशित
ब्राउज़ करें:774

इसे यहां रख रहा हूं ताकि मेरे बाद कोई भी इन कॉन्फ़िगरेशन को आसानी से ढूंढ सके।

अपनी नौकरी पर मैं जावा के साथ प्रतिक्रियाशील शैली के साथ एक माइक्रोसर्विस लिख रहा हूं। मैं पैनाचे के साथ मोंगोडब का भी उपयोग कर रहा हूं। हाल ही में मुझे एक समस्या का सामना करना पड़ा जहां मेरी एक क्वेरी मोंगो कंपास से पूरी तरह से काम कर रही थी लेकिन पैनाचे के साथ यह अपेक्षा के अनुरूप काम नहीं कर रही थी। इसलिए मुझे उस क्वेरी को देखने की ज़रूरत थी जो पैनाचे उत्पन्न कर रही थी।

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

quarkus.log.category."io.quarkus.mongodb.panache.common.runtime".level=DEBUG

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

उसके बाद मैं कुछ हद तक परेशान हो गया और खुद से पूछता रहा कि क्वेरी लॉगिंग काम क्यों नहीं कर रही है और निराश हो गया। फिर एक यूरेका क्षण में मैंने कॉन्फ़िगरेशन कुंजी को ध्यान से देखा और मैं स्पष्ट रूप से देख सकता हूं कि लॉग एक श्रेणी io.quarkus.mongodb.panache.common.runtime को सक्षम कर रहा था इसलिए मैं उस पैकेज की तलाश में गया। मेरे जेटब्रेन आईडीई से मुझे यह मिला और मैं स्पष्ट रूप से देख सकता हूं कि एक कॉमन.रनटाइम.कॉमनपैनचेक्वेरीइम्प्ल और दूसरा कॉमन.रिएक्टिव.रनटाइम.कॉमनरीएक्टिवपैनचेक्वेरीइम्प्ल है।

Folder structure of the package

इसलिए मैंने उस श्रेणी के आधार पर फ़िल्टर करने का प्रयास किया और यह काम कर गया :)
तो समाधान केवल इस श्रेणी पर DEBUG को सक्षम करना है। तो इस लाइन को अपने application.properties में जोड़ें।

quarkus.log.category."io.quarkus.mongodb.panache.common.reactive.runtime".level=DEBUG

अब लॉगिंग काम कर रही है

Query logging working

बक्शीश

खोज करते समय मुझे क्वेरी लॉगिंग सक्षम करने का एक और तरीका मिला है, लेकिन यह मोंगोडब ड्राइवर से लॉगिंग है। इसे सक्षम करने के लिए बस इसे application.properties
में जोड़ें

quarkus.log.category."org.mongodb.driver.protocol.command".level=DEBUG

परिणाम इस तरह दिखता है, यह डीबी से भी परिणाम आउटपुट करता है।

MongoDB driver logging

बस सोचा कि मैं इन कॉन्फ़िगरेशन को यहां किसी ऐसे व्यक्ति के संदर्भ के रूप में पोस्ट करूंगा जो पैनाचे के साथ प्रतिक्रियाशील जावा कर रहा है। चूँकि मैंने अपने सप्ताहांतों में से एक को अन्य चीज़ों के साथ-साथ यह पता लगाने में भी बिताया है। मैं संभवतः एक वरिष्ठ सॉफ्टवेयर इंजीनियर के रूप में अपनी यात्रा के बारे में एक लंबी पोस्ट बनाऊंगा जिसमें पैनाचे क्षमता के मुद्दे को डीबग किया जाएगा और एक जूनियर इन्हें कैसे नेविगेट कर सकता है और इस दौरान मेरी चरण-दर-चरण विचार प्रक्रिया क्या थी।

मैंने ये सब सीखा है क्योंकि मैं खुद से पूछता रहा "यह काम क्यों नहीं करेगा?" और यह मुझे परेशान करता रहा।

संदर्भ

  1. मेरे अपने नोट्स
  2. क्वार्कस डॉक्स
  3. एक जीथब चर्चा
विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/minhaz1217/how-to-enable-mongodb-query-logging-in-reactive-java-for-quarkus-with-panache-22pa?1 यदि कोई उल्लंघन है , कृपया स्टडी_गोलंग @163.कॉमडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3