SpringBoot2でリクエストのヘッダーやボディをログに出力する方法。CommonsRequestLoggingFilterをConfigクラスで@Bean登録し、application.ymlでDEBUGレベルを有効にするだけ。GETとPOSTでの出力例つき♪
SpringBoot2のLogbackのログをlogback-json-classicでJson形式にする方法。build.gradleへの依存追加とlogback-spring.xmlの修正を、標準出力の場合とAWS CloudWatch Logsの場合に分けてご紹介♪
SpringBoot2でLocalDateやLocalDateTimeをレスポンスに返すと出るJSR310FormattedSerializerBase.findFormatOverridesエラーの解決方法。build.gradleにjackson-datatype-jsr310の依存を1行追加するだけ♪
SpringBoot2のLogbackのログをcloudwatch-logback-appenderでAWSのCloudWatchに転送する方法。IAMの用意、Gradleの依存関係の追加、logback-spring.xmlへのCloudWatch用設定の追加、転送の確認まで♪
SpringBoot2でレスポンスヘッダーに独自の項目を追加する方法。OncePerRequestFilterを継承したFilterでMDCのX-Request-IDをヘッダーに載せ、ConfigurationでBean登録するだけ。ログ調査が楽になります♪
SpringBoot2とLogbackで、リクエストごとにUUIDを自動採番してX-Request-IdとしてログにMDCで埋め込む方法。Filterクラスの用意、Configでの登録、logbackのパターン修正まで手順つきです♪
SpringBoot2の@ControllerAdviceでエラーハンドリングを共通化する方法。HttpStatus単位の独自エラークラス、メッセージ用の定数クラス、Adviceクラス、error.propertiesを用意し、リソースの有無で動作確認します♪
SpringBoot2のLogbackで、環境(プロファイル)ごとにログの出力先やフォーマットを切り替える方法。logback-spring.xmlで環境別のlayout.xmlをincludeする構成と、1ファイルにまとめる書き方も♪
SpringBoot2で独自のmessage.propertiesをロジックから読み込むための設定。読み込み用の設定クラスを用意して呼び出すまでと、ファイル名に言語コードを付けてLocaleごとに出し分ける多言語化まで♪
SpringBoot2のデフォルトのエラーレスポンスはパッケージ情報やエラー詳細が返ってしまい脆弱性の原因に。DefaultErrorAttributesを継承してgetErrorAttributesをOverrideし、独自のエラーレスポンスにする方法です♪