Не уверен, что вы подразумеваете под "частично Json"? Т.е.:
- что сообщение журнала содержит другой текст и правильный Json
- или что сообщение содержит что-то похожее на Json, но на самом деле Json - например, префикс Json сообщения
Предполагается, что вариант 1 (другой текст + правильный Json)
Вам необходимо извлечь Json в соответствующее поле своего собственного. В противном случае | json auto
не сможет его забрать.
Итак:
"We were rate limited"
| parse "We were rate limited *" as limitedJson
| json auto
| count by class
должен выполнить эту работу. Первая строка даже не нужна, потому что parse
тоже выполняет фильтрацию.
Предполагается, что вариант 2 (без правильного Json, просто что-то похожее)
В таком случае сложнее, но все еще выполнимо.
Я не проверял это, но что-то вроде этого должно работать:
"We were rate limited"
| parse "\"class\":\"*\"" as class
| count by class
Здесь экранирование вложенных кавычек выглядит не очень хорошо.
Отказ от ответственности: В настоящее время я работаю в Sumo Logi c.