Aws CloudWatch фильтрует компактный JSON с @ в нем - PullRequest
0 голосов
/ 10 декабря 2018

Мы используем serilog для вывода из нашего основного приложения .nrt.Мы используем компактный JSON, чтобы уменьшить размер.В компактной форме он, похоже, помещает ключ ошибки со знаком @;

"@ l": "Warning"

Я не могу заставить работать фильтр, он либо не возвращает результатов, либоговорит ошибка.Я пробовал много вещей, но я уверен, что это должно сработать;

{$. @ L = "Warning"}

Кто-нибудь подскажет, где я иду не так.

1 Ответ

0 голосов
/ 10 декабря 2018

Не думаю, что вы можете использовать @ в селекторе.Из документов:

Селекторы свойств - это буквенно-цифровые строки, которые также поддерживают символы «-» и «_».

https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/FilterAndPatternSyntax.html#extract-json-log-event-values

Один из способов обойти это - сопоставить строку, как если бы она не была частью json.

Например, если ваш журналстрока выглядит так:

"@l": "Warning"

Вы можете отфильтровать ее с помощью:

[key="@l", colon, value=Warning]
...