Slog パッケージを使用した Go ログへの相関 ID の組み込み
JSON ログ用に Go Slog パッケージを使用する場合、次のことが必要になる場合があります。相関 ID またはトレース ID を使用して、特定のリクエストに関連するログを追跡します。これを実現する方法は次のとおりです。
問題は、Slog パッケージ内にトレース ID オプションを構成する簡単な方法がないことにあります。推奨される解決策は、コンテキストからトレース ID を取得し、それを使用して新しいロガーを生成することです。この新しいロガーを利用して、後続のすべてのメッセージにトレース ID を追加できます。
このソリューションを実装するには、次の手順に従います。
context:
<code class="go">traceId := ctx.Value("traceId")</code>
トレース ID を持つ新しいロガーを作成します:
<code class="go">newLogger := logger.With("traceId", traceId)</code>
新しいロガーを使用してメッセージをログに記録します:
<code class="go">// use newLogger that will add traceId to all messages</code>
このアプローチでは、新しいロガーを使用して生成されたすべてのメッセージにトレース ID を追加することで、特定のリクエストに関連するログを追跡できます。
以上がSlog パッケージを使用して Go ログに相関 ID を追加するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。