3

リクエストの追跡に行き詰まっています。(アスペクト指向プログラミングを使用して) コンポーネント名と時刻を取得するのは簡単ですが、リクエストの ID (requestID) を持っていません。

次のようなログが必要です。

RequestID ComponentName 時間

  • Add547 C4 5s
  • 検索547 C1 5s
  • 検索778 C1 2s
  • Add547 C1 15s
  • Search778 C4 20代
  • Search547 C5 10s
  • 検索547 C3 2s
  • 検索547 C2 1s
  • Search778 C2 12s
  • Search547 C6 55s
  • 検索778 C6 1s
  • Add547 C2 6s
  • Add547 C3 46s

このようなファイルを簡単に受け取るために、それはまさに私が探しているものです:

RequestID ComponentName 時間

  • 検索547 C1 5s
  • Search547 C5 10s
  • 検索547 C3 2s
  • 検索547 C2 1s
  • Search547 C6 55s

RequestID ComponentName 時間

  • 検索778 C1 2s
  • Search778 C4 20代
  • Search778 C2 12s
  • 検索778 C6 1s

RequestID ComponentName 時間

  • Add547 C4 5s
  • Add547 C1 15s
  • Add547 C2 6s
  • Add547 C3 46s

私のすべての調査により、MDC と SiftingAppender で log4j を使用するようになりましたが、多くのクラス、サブシステム、およびスレッドを通過するため、リクエスト全体で一意の ID を提供できるかどうかはわかりません。

元のシステムを変更せずにできるかどうか教えていただけますか? (外部コンポーネントである必要があります)。これを行う方法を示すチュートリアルを知っていますか?

4

1 に答える 1