EclipseでSpringBootのリモートデバッグを行う方法。Debug ConfigurationsでRemote Java Applicationをポート5005で作成し、デバッグ用オプションで起動したアプリにアタッチします。Dockerで動かしていても使えます♪
特定のTwitterアカウントのツイートをSlackに自動で転送する方法。SlackのManage appsからTwitterアプリを連携し、転送したいアカウントと送信先チャンネルを登録するだけ。ポチポチで完了します♪
SpringBoot2でリクエストの処理時間(latency)をログに出力する方法。AbstractRequestLoggingFilterを継承したクラスを実装してBean登録するだけで、ミリ秒単位の所要時間が出ます。パフォーマンス改善に♪
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を用意し、リソースの有無で動作確認します♪