TraceID в логах микросервиса - PullRequest
0 голосов
/ 16 апреля 2020

Я пытался добавить идентификатор трассировки в мои журналы микро сервисов. Я пытался использовать сыщик и весеннее облако, и это работает. Но я не хочу загружать весеннее облако только для того, чтобы добавить идентификатор трассировки в мой журнал. Можно ли добавить traceid в журналы без загрузки весеннего облака? Я имею в виду, я просто хочу добавить traceID в журналы.

1 Ответ

0 голосов
/ 16 апреля 2020

одна опция может использовать Mapped Diagnosti c Context (MD C), который поддерживается большинством каркасов ведения журналов.
Ваша точка входа службы генерирует уникальный идентификатор и отправляет его в MD C: переменная контекста добавляется к каждому журналу в пределах одного и того же потока.
С log4j это будет что-то вроде:

MDC.put("TRACE_ID", traceId);

и соответствующей конфигурации log4j

log4j.appender.l.layout.ConversionPattern = %d{yyyy-MM-dd HH:mm:ss} [%X{TRACE_ID}] %-5p %c -> %m%n

Я считаю, что slf4j предлагает аналогичные возможности

...