4

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 insight以及App insight analytics(在trace表中)。我的自定义属性写在特殊的应用洞察行部分 - customDimensions。例如,上面的代码将带有“TestKey”键和“ TestValue”值的新属性添加到customDimensions部分中。

但是当我尝试写一些大文本(例如JSON超过 15k 个字母的文档)时,我仍然可以毫无例外地做到这一点,但是在一些文档长度后,可写文本会被切断。结果,customDimensions部分中的自定义属性值也将被裁剪,并且只有文档的第一部分。据我了解,最大文本长度存在限制,允许在应用洞察自定义属性中写入。

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

4

1 回答 1

14

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

于 2018-07-20T16:37:57.150 回答