NLog

编辑

对于 NLog,我们提供两个LayoutRenderers,它们将当前跟踪 ID 和事务 ID 注入日志。

为了使用它们,您需要将Elastic.Apm.NLog NuGet 包添加到您的应用程序,并在 NLog 配置文件的<extensions> 部分中加载它。

<nlog>
<extensions>
   <add assembly="Elastic.Apm.NLog"/>
</extensions>
<targets>
<target type="file" name="logfile" fileName="myfile.txt">
    <layout type="jsonlayout">
        <attribute name="traceid" layout="${ElasticApmTraceId}" />
        <attribute name="transactionid" layout="${ElasticApmTransactionId}" />
    </layout>
</target>
</targets>
<rules>
    <logger name="*" minLevel="Trace" writeTo="logfile" />
</rules>
</nlog>

如上例所示,您可以使用${ElasticApmTransactionId}引用当前事务 ID,使用${ElasticApmTraceId}引用跟踪 ID。