通过appsettings.json对应用程序见解进行Serilog配置

时间:2019-01-17 16:10:11

标签: configuration azure-application-insights serilog appsettings

我正在尝试使用https://github.com/serilog/serilog-settings-configuration来读取应用程序设置和设置serilog以获取应用程序见解:https://github.com/serilog/serilog-sinks-applicationinsights。我遇到的问题是我无法设置ApplicationInsightsEvents调用的最后一个参数,该函数需要LogEvent并返回ITelemetry。如何通过appsettings.json设置?

基本上,我想替换以下行: log.WriteTo.ApplicationInsightsEvents(instrumentationKey,level,CultureInfo.CurrentCulture,TelemetryConverter.ConvertLogEventsToEnerGovTelemetry);

在appsettings.json内有一行

谢谢。

2 个答案:

答案 0 :(得分:1)

将接收器配置添加到appsettings.json

      {
        "Name": "ApplicationInsights",
        "Args": {
          "instrumentationKey": "<instrumentationKey>",
          "telemetryConverter": "Serilog.Sinks.ApplicationInsights.Sinks.ApplicationInsights.TelemetryConverters.TraceTelemetryConverter, Serilog.Sinks.ApplicationInsights",
          "outputTemplate": "[{Component}|{MachineName}|{ThreadId}] {Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} [{Level:u3}] <{SourceContext}> {Message:lj}{NewLine}{Exception}"
        }
      }

"Serilog.Sinks.ApplicationInsights"

到“ Serilog:使用”数组

答案 1 :(得分:0)

已在GitHub上解答:https://github.com/serilog/serilog-settings-configuration/issues/165。只需编写一个程序集并将最终代码嵌入在那里。