Почему он отображает одни и те же журналы дважды (один как информация и один как ошибка с одним и тем же сообщением) на стекдрайвере? - PullRequest
0 голосов
/ 17 октября 2019

Я готовлю некоторые журналы с использованием python, но всякий раз, когда я запускаю свой код, он генерирует журналы, но дважды показывает на консоли стекового драйвера (один как информация, а другой как ошибка). Любой имеет представление о том, как справиться с этой проблемой.

мой код:

import logging
from google.cloud import logging as gcp_logging


log_client = gcp_logging.Client()
log_client.setup_logging()

# here executing some bigquery operations
logging.info("Query result loaded into temporary table: {}".format(temporary_table))

# here executing some bigquery operations
logging.error("Query executed with empty result set.")

Когда я запускаю вышеуказанный код, он показывает два раза выше, регистрируется на стекдрайвере.

Информация:2019-10-17T11: 54: 02.504Z cf-mycloudfunctionname Результат запроса загружен во временную таблицу: mytable

Ошибка: 2019-10-17T11: 54: 02.505Z cf-mycloudfunctionname Результат запроса загружен во временную таблицу: mytable

1 Ответ

0 голосов
/ 21 октября 2019

Что я вижу, так это то, что оба (error & info) были распознаны как плоский текст, поэтому он отправил то же сообщение, что и информация для stderr и stdout, поэтому вы получаете два одинаковых сообщения.

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

Дополнительно, вы можете настроить агент стековой драйвера так, чтобы отправлять журналы так, как вам нужно, посмотрите этот документ .

Также это будет зависеть от того, откуда вы пытаетесь получить эти журналы GCE, GKE, BQ. В некоторых случаях предпочтительнее изменить структуру fluentd напрямую, чем агент стекового драйвера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...