首頁 > Java > java教程 > 主體

如何在反應式java中為quarkus啟用mongodb查詢日誌記錄

PHPz
發布: 2024-07-17 09:52:19
原創
556 人瀏覽過

將其保留在這裡,以便我之後的任何人都可以輕鬆找到這些配置。

在我的工作中,我一直在用 java 寫反應式微服務。我也在使用 mongodb 和 panache。最近,我遇到了一個問題,我的一個查詢在 mongo compass 中運行得很好,但在華麗的情況下卻沒有按預期運行。所以我需要查看 panache 產生的查詢。

quarkus 的官方文件提供了一種在輸出中記錄 mongodb 查詢的方法。不幸的是,它僅適用於非反應式 java,並且指南沒有正確提及這一點。

雷雷

起初我認為由於某種原因可能是我的專案配置錯誤或配置衝突,這就是為什麼它沒有顯示日誌。我從來沒有想過反應式編碼是什麼問題。因此我透過其他方式調試了該問題並找到了適合我的問題的解決方案。

在那之後我有點煩惱並不斷問自己為什麼查詢日誌不起作用並感到沮喪。然後,在突然發現的時刻,我仔細查看了配置密鑰,可以清楚地看到日誌正在啟用類別 io.quarkus.mongodb.panache.common.runtime,所以我去尋找該套件。從我的jetbrains IDE中我找到了它,我可以清楚地看到有一個common.runtime.CommonPanacheQueryImpl和另一個common.reactive.runtime.CommonReactivePanacheQueryImpl。

Folder structure of the package

所以我嘗試按該類別進行過濾,結果成功了:)
所以解決方案是在這個類別上啟用DEBUG。因此,將此行新增至您的 application.properties 中。

雷雷

現在日誌記錄正在工作

Query logging working

獎金

在搜尋時,我找到了另一種啟用查詢日誌記錄的方法,但它是從 mongodb 驅動程式進行日誌記錄。要啟用它,只需將其添加到 application.properties

雷雷

結果是這樣的,它也輸出了db的結果。

MongoDB driver logging

只是想我會在這裡發布這些配置,作為對那些正在以華麗的方式進行響應式java的人的參考。因為我花了一個週末來解決這個問題以及其他事情。我可能會寫一篇更長的文章,講述我作為高級軟體工程師調試華麗能力問題的旅程,以及初級人員如何解決這些問題,以及在此過程中我一步一步的思考過程。

我學到了所有這些,因為我不斷問自己「為什麼它不起作用?」這一直困擾著我。

參考

  1. 我自己的筆記
  2. Quarkus 文檔
  3. github 討論

以上是如何在反應式java中為quarkus啟用mongodb查詢日誌記錄的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!