X X
На всякий случай откапитаню, что он построен на ThreadLocal-ах, и из Scala-овых Future/IO/ZIO/Task-ов (если это портребуется в итоге заполнять в таком контексте) ими пользоваться можно только с затейливыми ухищрениями.
на всякий случай. чтобы не звучало обидно, уточню, что я делаю.
Пользоваться MDC мне не нужно, о всех его проблемах мне известно, у меня есть свой опенсорсенный контекстно-структурный логгинг, значения он автоматически подтягивает с помощью тайпклассов из контекста и переданных аргументов, но когда я его написал, все мои приложения уже писали в ЕЛК, где я просто дописывал поля в жсон с помощью кастомного лэйаута из той же библиотеки
Но теперь у меня суперпростое приложение, которое пользуется той же библиотекой, но читаю логи я глазами в консоли пока что, поэтому я решил быстренько накалякать наследник PatternLayout, значения контекстные дописываются в как-будто бы MDC ивента и передаются в родительский метод.
Оставалась задача только вывести их. Собственно, %mdc отвечает на все мои вопросы