【发布时间】:2016-03-18 11:58:45
【问题描述】:
我正在使用 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);
但对于 Application Insights:
ConfigurationItemFactory.Default.Targets.RegisterDefinition(
"ai",
typeof(ApplicationInsightsTarget)
);
ApplicationInsightsTarget aiTarget = new ApplicationInsightsTarget();
aiTarget.InstrumentationKey = "my_key";
aiTarget.Name = "ai";
config.AddTarget("ai", aiTarget);
如何为 ai 指定布局?
【问题讨论】:
-
如果 AI 目标开始继承 TargetWithLayout 而不是 Target 并获得如下消息,则看起来可以实现:string logMessage = this.Layout.Render(logEvent) (github.com/Microsoft/ApplicationInsights-dotnet-logging/blob/…)。您可以在 github 上添加问题,甚至可以实现它。
标签: c# nlog azure-application-insights