プレゼンテーション層、サービス層、dao 層を備えた従来の 3 層アプリケーションで、簡潔で重複のない例外レポート ログ メッセージを確保するための最も適切な方法は何ですか。dao レイヤーがあらゆるタイプのチェック済み例外をキャッチし (Java 用語を使用しますが、他の例外処理言語にも同じ概念が適用されます)、それを適切なメッセージで daoexception に変換するとします。適切なメッセージ (例: "db へのアクセス中に例外が発生しました" + e.getMessage()) も同時に dao レイヤーに記録する必要がありますか? 次に、サービス レイヤーはすべての daoexception をキャッチし、それ自体が適切なサービス レイヤー メッセージを提供し、daoexception を serviceexception に変換 (ラップ) してから再スローします。サービス層もキャッチされた例外をログに記録する必要がありますか? 要するに:
- daoレイヤーだけがログに記録する必要がありますか?
- サービス層だけがログに記録する必要がありますか?
- 両方の層でログに記録する必要がありますか?
- それとも、ユースケース/サービスコールなどに応じて、ケースバイケースで各状況を検討する必要がありますか?
この質問では、プレゼンテーション層を無視しています。