.Net アプリケーションロガーの設定
開始する前に、「サポートされているログフレームワーク」を確認してください。
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>
NLog の場合、次のメタデータがログファイルに挿入されます。
- グローバルのスコープコンテキスト
appd_node_id
- 現在のスコープコンテキスト
appd_bt_idappd_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>