在我的.NET Framework 4.6.1 Web API应用程序中,我使用System.Diagnostics.Trace
类的CorrelationManager
属性以及NLog将每个请求的日志消息分组。不幸的是,上的CorrelationManager
属性不再存在。我有两个问题:是否有与Trace.CorrelationManager等价的.NET标准?
- 在.NET标准中是否有替换概念?
- NLog本身支持那个替换吗?
在我的.NET Framework 4.6.1 Web API应用程序中,我使用System.Diagnostics.Trace
类的CorrelationManager
属性以及NLog将每个请求的日志消息分组。不幸的是,上的CorrelationManager
属性不再存在。我有两个问题:是否有与Trace.CorrelationManager等价的.NET标准?
看来Microsoft.AspNetCore.Http.HttpContext.TraceIdentifier
是我正在寻找。 NLog目前不支持这一点。
它已经从NLog.Web版本4.3.1支持。使用变量${aspnet-TraceIdentifier}
。
您还可以使用自定义的一个自定义逻辑,例如:https://github.com/NLog/NLog/wiki/Extending:
app.Use(next => {
return async context => {
context.TraceIdentifier = Guid.NewGuid().ToString();
await next(context);
};
});
您可以轻松地将其与一些C#代码添加到NLOG %20NLog#如何到写一个定制布局呈现器 – Julian