GCP Logging - только для чтения журналы, которые не экспортируются в какой-либо приемник - PullRequest
0 голосов
/ 26 января 2020

Используя GCP's Java SDK, я хотел бы читать только журналы, которые не настроены для экспорта в любой приемник.

Когда я звоню com.google.cloud.logging.Logging.listLogEntries(), я получаю все журналы, включая журналы экспортируются в настроенные приемники.

Есть ли способ сбора только тех записей журнала, которые не настроены для экспорта в приемники?

1 Ответ

1 голос
/ 26 января 2020

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

  Page<LogEntry> entries = logging.listLogEntries( 
        EntryListOption.filter("logName=projects/" + options.getProjectId() + "/logs/test-log"));
        Iterator<LogEntry> entryIterator = entries.iterateAll().iterator();
        while (entryIterator.hasNext()) {
          System.out.println(entryIterator.next());
        }

Любой способ собрать только записи журнала, которые не настроены для экспорта в какой-либо приемник?

Для этого

  1. вам нужно получить все приемники, используя REST api или эквивалентный java клиент

  2. итерировать по приемникам в получить каждый запрос фильтра

  3. построить динамический фильтр c для использования с вышеуказанным EntryListOption

...