
176
⹅
図4.4.7
例外ハンドリング
リクエスト
エラーレスポンス
プレゼンテーション層
コントローラー
サービス
エラーハンドリング
エラーハンドリング
例外
ドメイン層
❷インターセプター
❶コントローラー内
ロギング
ロギングとはアプリケーションの実行中に発生する様々な情報をログ
として記録することです。
ロギングライブラリを利用すると、ログの出力先や出力フォーマッ
ト、出力ログレベルの切り替えなどの振る舞いを、設定ファイルにより
柔軟に定義することが可能です。プログラミング言語によっては標準の
ロギングライブラリが提供されているものもありますし、そうでなくて
も大抵は広く普及したオープンソースのロギングライブラリが存在する
ので選定に悩むことはあまりありません。アプリケーションからのログ
出力もシンプルなAPIを用いて容易に実装が可能です。
そのため、ロギングライブラリを選定し、出力フォーマットなどを定
めた標準の設定ファイルを提供しておしまい、ということが往々にして
あります。その結果、有益な情報はエラー発生時のスタックトレース程
度で、その他には大した情報がログに出力されないということが起きて
しまいます。
これはログ要件やそれに基づく方針やルールが明文化されていないこ
とが原因であると考えられます。その場合は要求の整理や方針決めから