現在、作業中の API ですべてのリクエストの情報ログを作成しようとしていますが、コントローラ レベルですべてのリクエストのログを作成するのではなく、「すべてをキャッチ」するログを作成してみようと思いました。解決策を見つけましたが、目標を達成できません。
Spring の @Aspect アノテーションを使用してアイデアを開始することにしましたが、所有するコントローラごとに 1 つのアスペクトを作成する必要があるため、これを使用することは最良のアイデアではありません。
少し調べた結果、試してみることができる 2 つの解決策が見つかりました。それは、@ControllerAdvice とインターセプターの作成です (これは、理論的には、成功する可能性が最も高く、クリーンなソリューションになる可能性が最も高いと私が考える 1 つのアイデアです)。
問題は、これらのアイデアに関する情報があまり見つからないことです。
@ControllerAdvice のアイデアについては、例外を処理するために使用されていることがわかりました。インターセプタのアイデアについては、作成したいものと同様のものは見つかりませんでした。
これらのアイデアは実際に実現可能でしょうか?それとも、コントローラー レベルですべてをログに記録することに固執する必要がありますか?
重要かどうかはわかりませんが、現在 LogBack ライブラリを使用して作業しています。
インターセプター ソリューションについては、こちらをご覧ください: baeldung.com/spring-mvc-handlerinterceptor
–
user10439404
2020 年 9 月 4 日 18:29
------------------------
さまざまなクライアント側およびサーバー側のテクノロジーに対する完全なリクエストとレスポンスのログを記録するためのソリューションが用意されています。
残りのエンドポイントのリクエストとレスポンスの情報を追跡するためにログブック ツールを使用しています。
https://github.com/zalando/logbook