"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تمكين تسجيل استعلام mongodb في جافا التفاعلية لـ quarkus مع المهارة

كيفية تمكين تسجيل استعلام mongodb في جافا التفاعلية لـ quarkus مع المهارة

تم النشر بتاريخ 2024-07-30
تصفح:930

الاحتفاظ بها هنا حتى يتمكن أي شخص بعدي من العثور على هذه التكوينات بسهولة.

في وظيفتي كنت أكتب خدمة صغيرة باستخدام جافا بأسلوب تفاعلي. أنا أيضًا أستخدم 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 آخر.

Folder structure of the package

لذلك حاولت التصفية حسب هذه الفئة ونجحت :)
لذا فإن الحل هو تمكين DEBUG في هذه الفئة فقط. لذا أضف هذا السطر إلى application.properties.

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

الآن يعمل التسجيل

Query logging working

علاوة

أثناء البحث وجدت طريقة أخرى لتمكين تسجيل الاستعلام، ولكنها يتم التسجيل من برنامج تشغيل mongodb. لتمكينه فقط أضف هذا إلى 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 إذا كان هناك أي انتهاك يرجى الاتصال بـ Study_golang @163.comdelete
أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3