Я использую MDC для регистрации sessionId для каждого запроса в мое приложение весенней загрузки.
Я использую log4j2 для входа.
Когда я помещаю любой ключ в фильтр, например, следующий мой класс фильтра.
import java.io.IOException;
import javax.servlet.FilterChain;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.jboss.logging.MDC;
import org.springframework.stereotype.Component;
import org.springframework.web.filter.OncePerRequestFilter;
@Component
public class MDCFilter extends OncePerRequestFilter{
@Override
protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain)
throws ServletException, IOException {
MDC.put("sessionId", "12345");
filterChain.doFilter(request, response);
}
}
Когда я пытаюсь вставить ключ "sessionId" в мой контроллер. Это не принимает значение моего контроллера в журналах.
Например: я добавляю в свой контроллер как:
MDC.put("sessionId", "ABC");
Но в моих журналах все еще печатается "12345" .
Почему MDC не эффективен, кроме фильтра?