開始する前に、「サポートされているログフレームワーク」を確認してください。

log4net の場合、次のメタデータが関連するグローバルまたは現在の範囲コンテキストに追加され、ログファイルに書き込まれます

  • appd_node_id
  • appd_bt_id
  • appd_request_guid

これは、アペンダを使用した log4net ログエンリッチメントの例です。

log4net

<log4net>
    <appender name="RollingFile" type="log4net.Appender.FileAppender">
        <file value="app.log"/>
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] appd_node_id=%property{appd_node_id} appd_bt_id=%property{appd_bt_id} appd_request_guid=%property{appd_request_guid} %-5level %logger{1} %message%newline"/>
        </layout>
    </appender>
    <root>
        <level value="ALL"/>
        <appender-ref ref="RollingFile"/>
    </root>
</log4net>
XML


NLog の場合、次のメタデータがログファイルに挿入されます。

  • グローバルのスコープコンテキスト
    • appd_node_id
  • 現在のスコープコンテキスト
    • appd_bt_id
    • appd_request_guid 

これは、ターゲットを使用してログファイルにメタデータを挿入する NLog 構成設定の例です。

NLog

<targets>
    <!-- File Target for all log messages with basic details -->
    <target xsi:type="File" name="allfile" fileName=".\nlog-AspNetCore-all-${shortdate}.log" layout="${longdate}|appd_node_id=${gdc:appd_node_id}|appd_bt_id=${scopeproperty:appd_bt_id}|appd_request_guid=${scopeproperty:appd_request_guid}|${event-properties:item=EventId:whenEmpty=0}|${level:uppercase=true}|${logger}|${message} ${exception:format=tostring}"/>
</targets>
XML