установить уровень важности журнала в облаке Google без использования библиотеки журналов google-cloud-logging

Я пытаюсь правильно выводить журналы в моей службе, работающей в облаке Google, и по большей части они правильно идентифицированы (журналы DEBUG и INFO, отправляемые на stdout, помечаются как информация, тогда как журналы WARNING, ERROR и CRITICAL отправляются до stderr и помечены как ошибка). Теперь я пытаюсь получить от них точную степень серьезности без использования библиотеки google-cloud-logging. Есть ли способ сделать это?

Здесь показан пример того, что я получаю в настоящее время, с серьезностью (значок слева), соответствующей тому, откуда журнал поступил: stdout или stderr.

пример ведения журнала в облаке Google

Это то, что я пытаюсь получить, но без использования библиотеки google-cloud-logging

ожидаемые уровни серьезности журнала

Редактировать:

мои журналы записываются в потоки вывода в формате json с использованием библиотеки python-json-logger для python. Информация в моих облачных журналах Google хранится, как показано на рисунке ниже. Мы не используем fluentd для анализа журналов.

текущая структура анализа журнала


person HitLuca    schedule 17.03.2021    source источник
comment
Было бы полезно знать, где запущено ваше приложение и как в данный момент вводятся журналы. Например, если вы используете fluentd для сбора журналов, вы можете использовать конфигурацию синтаксического анализа (например, grok) для интерпретации строки для более структурированного ведения журнала.   -  person Hitobat    schedule 17.03.2021
comment
@Hitobat спасибо за быстрый ответ, я обновил свой пост дополнительной информацией, которая может быть полезна   -  person HitLuca    schedule 17.03.2021
comment
Это предполагаемое поведение: события, отправленные на stdout, помечаются как info, а события, отправленные на stderr, помечаются как error. Чтобы настроить журналы, вы должны использовать библиотеку google-cloud-logging. Ознакомьтесь с документацией 1 и 2 для получения дополнительных сведений.   -  person Serhii Rohoza    schedule 17.03.2021
comment
Вы пользуетесь GKE? Почему вы не хотите использовать библиотеку google-cloud-logging?   -  person Serhii Rohoza    schedule 17.03.2021
comment
@SerhiiRohoza спасибо за ваши комментарии, я просто хотел знать, смог ли я удалить одну зависимость проекта, учитывая, что она будет каскадироваться на ~ 15 проектах. Если бы был способ сделать это без библиотеки, тогда отлично, в противном случае я буду использовать библиотеку (как вы предложили)   -  person HitLuca    schedule 18.03.2021
comment
Пожалуйста, предоставьте более подробную информацию об удалении проекта и зависимости от него других проектов.   -  person Serhii Rohoza    schedule 18.03.2021
comment
У меня есть функция настройки журналирования в служебной библиотеке. Каждый управляемый нами проект использует эту библиотеку, и добавление к нему пакета Google будет означать, что каждый проект будет иметь эту библиотечную зависимость. Учитывая, что я пытаюсь уменьшить количество внешних библиотек, используемых в наших проектах, я бы предпочел ручной способ установки флага важности, если это не привело к добавлению слишком большого количества кода.   -  person HitLuca    schedule 18.03.2021
comment
Вы решили свою проблему?   -  person Serhii Rohoza    schedule 24.03.2021
comment
В конце концов, я решил интегрировать библиотеку в свою утилиту ведения журнала и работал как задумано.   -  person HitLuca    schedule 25.03.2021
comment
Отправьте ответ, чтобы ваше решение было полезным для других членов сообщества.   -  person Serhii Rohoza    schedule 25.03.2021


Ответы (1)


После некоторого исследования и помощи от @SerhiiRohoza Кажется, вы не можете, поэтому, чтобы установить серьезность в облаке Google, вам нужно добавить библиотеку ведения журнала google-cloud-logging в свой проект и настроить ее как описано в документации.

person HitLuca    schedule 25.03.2021