الاحتفاظ بها هنا حتى يتمكن أي شخص بعدي من العثور على هذه التكوينات بسهولة.
في وظيفتي كنت أكتب خدمة صغيرة باستخدام جافا بأسلوب تفاعلي. أنا أيضًا أستخدم mongodb مع المهارة. لقد واجهت مؤخرًا مشكلة حيث كان أحد استفساراتي يعمل بشكل مثالي من بوصلة mongo ولكن مع المهارة لم يكن يعمل كما هو متوقع. لذلك كنت بحاجة لرؤية الاستعلام الذي كان يولده المهارة.
توفر الوثيقة الرسمية لـ quarkus طريقة لتسجيل استعلام mongodb في الإخراج. لسوء الحظ، فإنه يعمل فقط مع جافا غير التفاعلية ولا يذكر الدليل هذا بشكل صحيح.
quarkus.log.category."io.quarkus.mongodb.panache.common.runtime".level=DEBUG
في البداية اعتقدت لسبب ما أن تكوين مشروعي كان خاطئًا أو ربما كانت التكوينات متضاربة ولهذا السبب لم تكن تظهر السجلات. لم أفكر أبدًا في المشكلة في الترميز التفاعلي. لذلك قمت بتصحيح المشكلة بطرق أخرى ووجدت الحل المناسب لمشكلتي.
بعد ذلك شعرت بالانزعاج إلى حد ما وظللت أسأل نفسي عن سبب عدم عمل تسجيل الاستعلام وشعرت بالإحباط. ثم في لحظة اكتشاف، نظرت إلى مفتاح التكوين بعناية وأستطيع أن أرى بوضوح أن السجل كان يمكّن فئة io.quarkus.mongodb.panache.common.runtime لذلك ذهبت للبحث عن تلك الحزمة. من خلال بيئة تطوير Jetbrains IDE الخاصة بي، وجدته ويمكنني أن أرى بوضوح أن هناك common.runtime.CommonPanacheQueryImpl وcommon.reactive.runtime.CommonReactivePanacheQueryImpl آخر.
لذلك حاولت التصفية حسب هذه الفئة ونجحت :)
لذا فإن الحل هو تمكين DEBUG في هذه الفئة فقط. لذا أضف هذا السطر إلى application.properties.
quarkus.log.category."io.quarkus.mongodb.panache.common.reactive.runtime".level=DEBUG
الآن يعمل التسجيل
أثناء البحث وجدت طريقة أخرى لتمكين تسجيل الاستعلام، ولكنها يتم التسجيل من برنامج تشغيل mongodb. لتمكينه فقط أضف هذا إلى application.properties
quarkus.log.category."org.mongodb.driver.protocol.command".level=DEBUG
تبدو النتيجة هكذا، كما يتم إخراج النتيجة من قاعدة البيانات.
اعتقدت أنني سأقوم بنشر هذه التكوينات هنا كمرجع لشخص يقوم بجافا تفاعلية مع المهارة. نظرًا لأنني استثمرت إحدى عطلات نهاية الأسبوع في اكتشاف هذا الأمر بالإضافة إلى أشياء أخرى. من المحتمل أن أقوم بنشر مقالة أطول عن رحلتي كمهندس برمجيات أول لتصحيح مشكلة تتعلق بالقدرة على المهارة وكيف يمكن للمبتدئ أن يتنقل بين هذه المشكلات وما هي عملية التفكير التي قمت بها خطوة بخطوة أثناء ذلك.
لقد تعلمت كل هذا لأنني ظللت أسأل نفسي "لماذا لا ينجح هذا؟" وظل يزعجني.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3