如何将 Application Insights 遥测的副本保存到本地文件(在生成它的机器上)?

How to save copy of Application Insights telemetry into a file locally (on the machine which produced it)?

我有一个 ASP .NET CORE 应用程序,其中安装了 Application Insights。我如何配置它以将遥测数据的副本保存到本地文件中(除了发送到云端)?

我不是在寻找连续导出功能(AFAIU,它必须先通过门户)。我正在寻找类似“在本地保存 100% 的遥测数据,但将采样子集发送到 Azure”的场景。

一种方法 - 添加一个 TelemetryProcessor,它在本地保存遥测项目并调用 this.Next.Process(item)

或者您可以使用 TelemetrySink 实现相同的效果。

第一种方法可能更容易。

要以文本形式保存它们,您可以使用 Microsoft.ApplicationInsights.Extensibility.Implementation.JsonSerializer.Serialize(需要 IEnumerable<ITelemetry> telemetryItems)。这将 return 一个字节数组。我想在那个字节数组上调用 Deserialize 应该会给你 json.

的字符串表示