Azure Application Insight. Ограничение длины пользовательского атрибута
Я использую 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
раздел будет обрезан и будет иметь только первую часть документа. Как я понимаю, существует ограничение на максимальную длину текста, которое разрешается записывать в пользовательский атрибут app insight.
Может кто-нибудь знает, как я могу обойти это?
1 ответ
message
имеет максимальный допустимый предел 32768. Для элементов в коллекции свойств максимальное значение равно 8192.
Таким образом, вы можете попробовать один из следующих вариантов:
- Используйте поле сообщения в полном объеме, поместив туда большой текст.
Разделите данные на несколько и добавьте в коллекцию свойств отдельно.
например:
trace.Properties.Add ("key_part1", "Bigtext1_upto8192");
trace.Properties.Add ("key_part2", "Bigtext2_upto8192");