繁体   English   中英

MDC除了Spring Boot App中的Filter以外均无效

[英]MDC is not Effective other than Filter in Spring Boot App

我正在使用MDC将每个请求的sessionId记录到spring boot应用程序中。 我正在使用log4j2进行日志记录。 例如,当我将任何键放入Filter时,以下是我的Filter类。

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除过滤器外无效?

请使用以下MDC类:

org.jboss.logging.MDC

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM