Azure 应用程序洞察力。自定义属性长度限制

Azure Application Insight. Custom attribute length restriction

我正在使用 Azure App Insight 作为日志记录工具,并通过以下代码存储日志数据:

    private void SendTrace(LoggingEvent loggingEvent)
    {
        loggingEvent.GetProperties();
        string message = "TestMessage";

        var trace = new TraceTelemetry(message)
        {
            SeverityLevel = SeverityLevel.Information
        };

        trace.Properties.Add("TetstKey", "TestValue");
        var telemetryClient = new TelemetryClient();
        telemetryClient.Context.InstrumentationKey = this.InstrumentationKey;
        telemetryClient.Track(trace);
    }

一切正常。我在 App insightApp insight analytics 中(在 trace table 中)看到了记录。我的 自定义属性 写在特殊的应用洞察行部分 - customDimensions。例如,上面的代码会将带有 "TestKey" 键和“TestValue” 值的新属性添加到 customDimensions 部分。

但是当我尝试写一些大文本时(例如 JSON 超过 15k 个字母的文档)我仍然可以毫无例外地完成,但是 writable 文本将被剪切一些文档长度后关闭。结果,customDimensions 部分中的自定义属性值也将被裁剪,并且只有文档的第一部分。 据我所知,最大文本长度有限制,允许在 app insight 自定义属性中写入。

有人知道我该如何解决这个问题吗?

message 的最大允许限制为 32768。对于 属性 集合中的项目,值的最大限制为 8192。

因此您可以尝试以下选项之一:

  1. 通过将大文本放在那里来充分利用消息字段。

  2. 将数据拆分成多个,分别添加到属性集合中。

    例如:

    trace.Properties.Add("key_part1", "Bigtext1_upto8192");

    trace.Properties.Add("key_part2", "Bigtext2_upto8192");

参考:https://github.com/MicrosoftDocs/azure-docs/blob/master/includes/application-insights-limits.md