我在我的WPF應用程序和NLog中使用Microsoft Application Insights來記錄異常和調試信息。所以,我將Application Insights NLog Target添加到了應用程序中。但是,此NLog目標記錄的所有事件不包含Azure門戶上的上下文數據。如何爲應用程序洞察設置上下文NLog目標
使用TelemetryClient記錄的其他事件包含這些數據。
var telemetryClient = new TelemetryClient();
telemetryClient.InstrumentationKey = "xxx";
telemetryClient.Context.User.Id = Environment.UserName;
telemetryClient.Context.Session.Id = Guid.NewGuid().ToString();
//var config = new LoggingConfiguration();
ConfigurationItemFactory.Default.Targets.RegisterDefinition(
"ai",
typeof(ApplicationInsightsTarget)
);
ApplicationInsightsTarget aiTarget = new ApplicationInsightsTarget();
aiTarget.InstrumentationKey = "xxx";
aiTarget.Name = "ai";
LogManager.Configuration.AddTarget("ai", aiTarget);
LogManager.Configuration.AddRule(LogLevel.Info, LogLevel.Info, aiTarget);
LogManager.Configuration.Reload();
LogManager.ReconfigExistingLoggers();
我的問題是 - 有可能使用這個上下文數據也用於由NLog Target記錄的事件嗎?或者,我怎樣才能爲NLog設置上下文數據?