素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

IT

投稿日: 2019年4月30日
最終更新日:

【SpringBoot2】UUIDを自動採番してX-Request-Idとしてlogbackのログに埋め込む方法【MDC】

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2025/01/05 12:56:12時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥3,990 (2025/01/05 12:09:11時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
¥61,300 (2025/01/05 20:59:47時点 楽天市場調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

[ノースフェイス] THE NORTH FACE メンズ アウター マウンテンライトジャケット

created by Rinker
THE NORTH FACE(ザノースフェイス)
¥33,000 (2025/01/05 13:22:08時点 Amazon調べ-詳細)

防水暴風で耐久性抜群なので旅行で大活躍です!

レッドブル エナジードリンク 250ml×24本

created by Rinker
Red Bull(レッドブル)
¥4,000 (2025/01/05 12:33:39時点 Amazon調べ-詳細)

翼を授けよう!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥10,429 (2025/01/05 12:09:13時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

スポンサーリンク

336×280




サーバーログを漁りやすくしよう

リクエストを特定するIDは重要

APIシステムやWebシステムを開発していると、システム障害や調査のためにログを漁ることは頻繁にあると思います。

その際に、同一リクエスト内のログを絞りこむための情報をあらかじめログのパターンに仕込んでおかないと、他のリクエストのログと混合してしまい厳密な調査が出来ません。

しかし、SpringBootとLogbackを使っていれば、ライブラリを追加する事無くMDCと言う機能を使って簡単にログに独自の値を埋め込む事が可能です。

MDCとは?

MDCとは、Mapped Diagnostic Contextsという機能の事を指し、ログ情報に対して独自の情報を付与して出力する事が可能になります。

実際には、SLF4jの機能ですが、Logback自体もSLF4jの作者が作ったライブラリなので同様の機能が搭載されています。

今回は、Filterで自動採番したUUIDをMDCとしてログパターンに埋め込む方法をご紹介致します♪

手順

Filterの準備

まずは、MDCにUUIDを追加するFilterクラスを用意しましょう。

Configクラスの実装

次に、上記のクラスを@Configurationで適用させましょう。

logbackのパターンを修正

では、実際にlogbackのパターンにFilterクラスで追加したx-request-idを埋め込んでみましょう。

確認

では、実際にサーバーを起動してリクエストを投げてみましょう。

ちなみに、FilterにてMDCを追加しているので、起動ログは以下のように空白となりますので気をつけてください。

[INFO ] [] [2019-04-30 20:11:40.848] [t.b.s.account.AccountApplication] - Started AccountApplication in 2.575 seconds (JVM running for 23.541)

リクエストを投げると以下のようなログが出力されると思います。

念のため、もう一度同じリクエストを投げてみましょう。

正しくUUIDが採番されていますね♪

終わりに

以上のように、少ない実装で簡単にログにX-Request-IDを埋め込む事が出来ました。

Logbackを導入する事でログ周りのカスマイズがとても簡単になるので、皆さんも是非試してみてください。

336×280




336×280




CATEGORIES & TAGS

IT, , , , , , , , , ,

blogenist

Author: blogenist

関連記事

YouTubeも見てね♪