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
|
* @Date 2021/7/5 14:56
|
**/
|
@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();
|
}
|
}
|