【发布时间】:2021-05-06 08:39:08
【问题描述】:
我正在创建一个自定义目标,但我看不到从 Write 方法访问布局渲染器值(例如 aspnet-traceidentifier https://github.com/NLog/NLog/wiki/AspNetTraceIdentifier-Layout-Renderer)的方法。
这是我使用的代码:
[Target("CustomTarget")]
public sealed class CustomTarget : AsyncTaskTarget
{
protected override async Task WriteAsyncTask(LogEventInfo logEvent, CancellationToken token)
{
var layout = new NLog.Layouts.SimpleLayout("${aspnet-traceidentifier}");
string logMessage = this.Layout.Render(logEvent);
string identifier = layout.Render(logEvent);
// identifier is empty here...
identifier = RenderLogEvent("${aspnet-traceidentifier}", logEvent);
// identifier is empty here...
}
}
【问题讨论】:
标签: c# asp.net-core nlog add-custom-target