在我的.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