Что означает набор значений в журнале, генерируемых приложением Spring Boot? - PullRequest
1 голос
/ 20 июня 2019

Я использую весеннюю загрузку для создания микросервисов. Один из сгенерированных журналов:

2019-06-19 09: 31: 05.875 ИНФОРМАЦИЯ [tkc, 37b5f215d418d0ff, d5501f25ae8599bf, false] 13 --- [ntainer # 0-1-C-1] a.b.c.d.sample.ClassName: это сообщение журнала

В этом журнале я не могу понять значение значений: [tkc,37b5f215d418d0ff,d5501f25ae8599bf,false].

Шаблон журнала, который я вижу в DefaultLogbackConfiguration.java:

private static final String FILE_LOG_PATTERN = "%d{${LOG_DATEFORMAT_PATTERN:-yyyy-MM-dd HH:mm:ss.SSS}}

${LOG_LEVEL_PATTERN:-%5p} ${PID:- } --- [%t] %-40.40logger{39} : %m%n${LOG_EXCEPTION_CONVERSION_WORD:-%wEx}";

Где я не могу понять, как ${LOG_LEVEL_PATTERN:-%5p} переводится как INFO[tkc,37b5f215d418d0ff,d5501f25ae8599bf,false]?

1 Ответ

2 голосов
/ 20 июня 2019

Вы, вероятно, используете логарифмическую корреляцию Spring Cloud . Поскольку вы регистрируете запуск более чем одного микросервиса, необходимо различать, из какого микросервиса исходит журнал.

См. Документацию 1.2.4. Лог корреляции , где появляется первый образец, и понимайте, что его описание приведено ниже, в части 3 Особенности

обратите внимание на записи [appname,traceId,spanId,exportable] из MDC:

  • spanId - идентификатор конкретной операции, которая имела место

  • appname - название приложения, которое зарегистрировало промежуток

  • traceId - идентификатор графика задержки, который содержит диапазон

  • экспорт - должен ли журнал экспортироваться в Zipkin или нет. Когда бы вы хотели, чтобы диапазон не был экспортируемым? В случае, если вы хотите обернуть некоторую операцию в Span и записать ее только в журналы.

Расшифровка [tkc,37b5f215d418d0ff,d5501f25ae8599bf,false]:

  • tkc - название микросервиса
  • 37b5f215d418d0ff является идентификатором трассировки
  • d5501f25ae8599bf - это spanId
  • false журнал не экспортируется в Zipkin
...