[имя] спросил: Как под капотом работает MDC?

MDC (Mapped Diagnostic Context) — это механизм в Java, который позволяет добавлять контекстную информацию к логам, например, идентификатор сессии или пользователя.

Короткий ответ

Что ответить на собеседовании

MDC (Mapped Diagnostic Context) — это механизм в Java, который позволяет добавлять контекстную информацию к логам, например, идентификатор сессии или пользователя. Это особенно полезно для трассировки запросов в многопоточных приложениях.

Подробный разбор

Ответ с пояснениями

MDC (Mapped Diagnostic Context) — это механизм в Java, который позволяет добавлять контекстную информацию к логам, например, идентификатор сессии или пользователя. Это особенно полезно для трассировки запросов в многопоточных приложениях.

Пример использования с Log4j:

import org.apache.logging.log4j.ThreadContext;

// Добавляем контекст
ThreadContext.put("userId", "12345");

logger.info("Начинаем обработку запроса");

// В логах появится userId, что поможет фильтровать и анализировать логи

// После завершения работы контекст можно очистить
ThreadContext.clearAll();

Таким образом, MDC помогает связывать логи с определённым контекстом, что облегчает диагностику и отладку.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее