Глобальные переменные MDC
На проекте используется MDC
для хранения глобальных переменных, эти переменные потом вставляются
в заголовки и ходят между сервисами.
Конвертирование MDC
переменных в заголовки выполняет com.rooxteam.commons.logging.interceptor.LoggingRestTemplateInterceptor
.
Он конвертирует подмножество всех переменных хранящихся в MDC
.
Конвертирование заголовков обратно в MDC
Эту обязанность выполняет com.rooxteam.commons.logging.filter.RequestLogger
, он берет определенное подмножество
заголовков и складывает их значения в MDC
.
Audit
В некоторых случаях, события в audit
подсистеме опираются на переменные в MDC
, например событие webapi.social.mapping.create.success
ожидает присутствия msisdn
в MDC
, когда его там не окажется, то создастся просто событие котрое не привязано к определенному msisdn
,
что может поломать тесты и Вы будете долго искать причину :)