C# 如何为ApplicationInsights Nlog目标指定布局?

C# 如何为ApplicationInsights Nlog目标指定布局?,c#,nlog,azure-application-insights,C#,Nlog,Azure Application Insights,我正在使用NLog的编程配置,在这里我添加了ApplicationInsights以在Azure中记录消息。但我不知道如何为该消息指定布局(例如,在消息中添加日期时间) 例如,对于我指定的文件目标: var fileTarget = new FileTarget(); fileTarget.Name = "file"; fileTarget.FileName = @"${basedir}/logs/${shortdate}.log"; fileTarget.Layout = @"${longda

我正在使用NLog的编程配置,在这里我添加了ApplicationInsights以在Azure中记录消息。但我不知道如何为该消息指定布局(例如,在消息中添加日期时间)

例如,对于我指定的文件目标:

var fileTarget = new FileTarget();
fileTarget.Name = "file";
fileTarget.FileName = @"${basedir}/logs/${shortdate}.log";
fileTarget.Layout = @"${longdate} ${uppercase:${level}} ${message}";
config.AddTarget("file", fileTarget);
但对于应用程序洞察:

ConfigurationItemFactory.Default.Targets.RegisterDefinition(
                "ai", 
                typeof(ApplicationInsightsTarget)
);
ApplicationInsightsTarget aiTarget = new ApplicationInsightsTarget();
aiTarget.InstrumentationKey = "my_key";
aiTarget.Name = "ai";
config.AddTarget("ai", aiTarget);

如何为ai指定布局?

据我回忆,ai目标不允许覆盖默认布局。

据我回忆,ai目标不允许覆盖默认布局。

从2.0.0版开始,ApplicationInsights开始支持布局。您可以将其配置为与任何其他目标相同的方式

从2.0.0版开始,ApplicationInsights开始支持布局。您可以将其配置为与任何其他目标相同的方式

如果AI目标开始继承TargetWithLayout而不是target,并获得如下消息:string logMessage=this.Layout.Render(logEvent)(),则可以实现这一点。您可以在github上添加一个问题,甚至可以实现它。如果AI目标开始继承TargetWithLayout而不是target,并获得如下消息:string logMessage=this.Layout.Render(logEvent)()。您可以在github上添加问题,甚至可以实现它。