package com.gkhy.assess.framework.interceptor; import cn.hutool.extra.servlet.ServletUtil; import com.gkhy.assess.system.utils.ShiroUtils; import org.slf4j.MDC; import org.springframework.stereotype.Component; import org.springframework.web.servlet.HandlerInterceptor; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.UUID; /** * @ClassName LogInterceptor * @Description TODO **/ @Component public class LogInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { String requestId = UUID.randomUUID().toString(); String ip = ServletUtil.getClientIP(request,null); String url=request.getRequestURI(); MDC.put("requestId", requestId); MDC.put("clientIP", ip); MDC.put("url", url); String userId= ShiroUtils.getUserId()!=null?String.valueOf(ShiroUtils.getUserId()):""; MDC.put("userId", userId); return true; } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { MDC.clear(); } }