Simpan di sini supaya sesiapa selepas saya dapat mencari konfigurasi ini dengan mudah.
Di tempat kerja saya, saya telah menulis perkhidmatan mikro dengan java dengan gaya reaktif. Saya juga menggunakan mongodb dengan panache. Baru-baru ini saya menghadapi masalah di mana salah satu pertanyaan saya berfungsi dengan sempurna dari kompas mongo tetapi dengan panache ia tidak berfungsi seperti yang diharapkan. Jadi saya perlu melihat pertanyaan yang dijana oleh panache.
Dokumen rasmi quarkus menyediakan cara untuk log pertanyaan mongodb dalam output. Malangnya ia hanya berfungsi untuk java bukan reaktif dan panduan tidak menyebut perkara ini dengan betul.
quarkus.log.category."io.quarkus.mongodb.panache.common.runtime".level=DEBUG
Pada mulanya saya fikir atas sebab tertentu mungkin konfigurasi projek saya salah atau mungkin konfigurasi bercanggah dan itulah sebabnya ia tidak menunjukkan log. Saya tidak pernah terfikir apakah pengekodan reaktif yang menjadi masalah. Jadi saya menyahpepijat isu itu dengan cara lain dan menemui penyelesaian yang sesuai untuk masalah saya.
Selepas itu saya agak terganggu dan terus bertanya kepada diri sendiri mengapa pengelogan pertanyaan tidak berfungsi dan kecewa. Kemudian dalam seketika eureka saya melihat kekunci konfigurasi dengan teliti dan saya dapat melihat dengan jelas bahawa log itu mendayakan kategori io.quarkus.mongodb.panache.common.runtime jadi saya pergi mencari pakej itu. Daripada IDE jetbrains saya, saya menemuinya dan saya dapat melihat dengan jelas bahawa terdapat common.runtime.CommonPanacheQueryImpl dan satu lagi common.reactive.runtime.CommonReactivePanacheQueryImpl.
Jadi saya cuba menapis mengikut kategori itu dan ia berjaya :)
Jadi penyelesaiannya ialah dengan hanya mendayakan DEBUG pada kategori ini. Jadi tambahkan baris ini pada application.properties anda.
quarkus.log.category."io.quarkus.mongodb.panache.common.reactive.runtime".level=DEBUG
Sekarang pembalakan berfungsi
Semasa mencari, saya telah menemui cara lain untuk mendayakan pengelogan pertanyaan, tetapi ia mengelog daripada pemacu mongodb. Untuk mendayakannya cuma tambahkan ini pada application.properties
quarkus.log.category."org.mongodb.driver.protocol.command".level=DEBUG
Hasilnya kelihatan seperti ini, ia juga mengeluarkan hasil daripada db.
Hanya terfikir bahawa saya akan menyiarkan konfigurasi ini di sini sebagai rujukan kepada seseorang yang melakukan java reaktif dengan panache. Memandangkan saya telah melabur satu hujung minggu saya memikirkan perkara ini serta perkara lain. Saya mungkin akan membuat catatan yang lebih panjang dalam perjalanan saya sebagai Jurutera Perisian Kanan untuk menyahpepijat isu keupayaan panache dan cara seorang junior boleh mengemudi ini dan apakah proses pemikiran langkah demi langkah saya semasa ini.
Saya telah mempelajari semua ini kerana saya terus bertanya kepada diri sendiri "mengapa ia tidak berkesan?" dan ia terus mengganggu saya.
Atas ialah kandungan terperinci Bagaimana untuk membolehkan log masuk pertanyaan mongodb dalam java reaktif untuk quarkus dengan panache. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!