공부

[Spring] filter logger by MDC (get IP & UserAgent)

승가비 2020. 5. 30. 04:35
728x90
@Component
public class LoggerFilter implements Filter {
    private static final Logger LOGGER = LoggerFactory.getLogger(LoggerFilter.class);

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        HttpServletRequest req = (HttpServletRequest) request;

        String ip = req.getHeader(HttpHeaders.X_FORWARDED_FOR);
        ip = ip == null ? req.getRemoteAddr() : ip;
        MDC.put("ClientIP", ip);

        String userAgent = req.getHeader(HttpHeaders.USER_AGENT);
        MDC.put("UserAgent", userAgent);

        chain.doFilter(req, response);
    }
}

https://www.lesstif.com/java/spring-client-ip-18220218.html

 

Spring 에서 client ip 가져오는 법.

 

www.lesstif.com

 

728x90