通过 appsettings.json 进行 Serilog 配置以实现 Application Insights

Ser*_*kiy 4 configuration appsettings serilog azure-application-insights

我正在尝试使用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 中有一行

谢谢。

小智 6

将接收器配置添加到 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}"
        }
      }
Run Code Online (Sandbox Code Playgroud)

"Serilog.Sinks.ApplicationInsights"
Run Code Online (Sandbox Code Playgroud)

到“Serilog:使用”数组