23голоса
Голосовать
Planned

Парсинг логов из stdout/stderr функций и serverless-контейнеров

В serverless-контейнерах и функциях реализована автоматическая трансляция логов из стандартных потоков вывода в Cloud Logging, но сейчас подобный записи выглядят следующим образом: в поле "Уровень" - пустота, в "JSON" содержатся только системные поля, а в "Сообщение" - весь лог сплошняком. В итоге с этим логом практически невозможно работать - сложно что-либо найти или понять, где ошибка, а где просто сообщение. Раз уж такая опция существует, хотелось бы, чтобы Cloud Logging умел распарсить строку лога и заполнить необходимые для нормального отражения и фильтрации поля: - level - json_payload - message Так, например, популярный логгер для go - zerolog - пишет логи в виде json: {"time":1516134303,"level":"debug","message":"hello world", "payload1":"aaa", "payload2":"bbb"} - можно выдернуть level и message, а всё остальное положить в JSON. Данный формат логов поддерживается, например, в Google Cloud.