|  | @@ -1,16 +1,16 @@
 | 
	
		
			
				|  |  |  package com.yonge.log.interceptor;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import java.io.IOException;
 | 
	
		
			
				|  |  | -import java.lang.reflect.Array;
 | 
	
		
			
				|  |  |  import java.nio.charset.Charset;
 | 
	
		
			
				|  |  |  import java.text.SimpleDateFormat;
 | 
	
		
			
				|  |  | -import java.util.*;
 | 
	
		
			
				|  |  | +import java.util.Date;
 | 
	
		
			
				|  |  | +import java.util.Map;
 | 
	
		
			
				|  |  | +import java.util.Objects;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  import javax.servlet.ServletException;
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletRequest;
 | 
	
		
			
				|  |  |  import javax.servlet.http.HttpServletResponse;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -import io.swagger.annotations.ApiOperation;
 | 
	
		
			
				|  |  |  import org.apache.commons.io.IOUtils;
 | 
	
		
			
				|  |  |  import org.apache.commons.lang3.StringUtils;
 | 
	
		
			
				|  |  |  import org.springframework.beans.factory.annotation.Autowired;
 | 
	
	
		
			
				|  | @@ -41,7 +41,7 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	private SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -	private static List<String> logUrl;
 | 
	
		
			
				|  |  | +	private static List<String> ignoreLogUrl;
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  
 | 
	
	
		
			
				|  | @@ -52,37 +52,44 @@ public class AuditLogInterceptor extends HandlerInterceptorAdapter {
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  	@Override
 | 
	
		
			
				|  |  | -	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
 | 
	
		
			
				|  |  | -		String servletPath = request.getServletPath();
 | 
	
		
			
				|  |  | -		HandlerMethod handlerMethod = (HandlerMethod) handler;
 | 
	
		
			
				|  |  | -		AuditLogAnnotation anno = handlerMethod.getMethodAnnotation(AuditLogAnnotation.class);
 | 
	
		
			
				|  |  | -		ApiOperation apiOperation = handlerMethod.getMethodAnnotation(ApiOperation.class);
 | 
	
		
			
				|  |  | -		String operateName = null;
 | 
	
		
			
				|  |  | -		if(StringUtils.isEmpty(operateName) && apiOperation != null){
 | 
	
		
			
				|  |  | -			operateName = apiOperation.value();
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(StringUtils.isEmpty(operateName) && anno != null){
 | 
	
		
			
				|  |  | -			operateName = anno.operateName();
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(anno != null){
 | 
	
		
			
				|  |  | -			saveLog(operateName,servletPath,request);
 | 
	
		
			
				|  |  | -			return;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		if(servletPath.contains("/task/")){
 | 
	
		
			
				|  |  | -			return;
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | - 		String substring = servletPath.substring(servletPath.lastIndexOf("/") + 1).toLowerCase();
 | 
	
		
			
				|  |  | -		if(logUrl == null){
 | 
	
		
			
				|  |  | -			logUrl = new ArrayList<>();
 | 
	
		
			
				|  |  | -			logUrl.add("update");
 | 
	
		
			
				|  |  | -			logUrl.add("modify");
 | 
	
		
			
				|  |  | -			logUrl.add("del");
 | 
	
		
			
				|  |  | -		}
 | 
	
		
			
				|  |  | -		for (String e : logUrl) {
 | 
	
		
			
				|  |  | -			if(substring.contains(e)){
 | 
	
		
			
				|  |  | +	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) {
 | 
	
		
			
				|  |  | +		try {
 | 
	
		
			
				|  |  | +			String servletPath = request.getServletPath();
 | 
	
		
			
				|  |  | +			HandlerMethod handlerMethod = (HandlerMethod) handler;
 | 
	
		
			
				|  |  | +			AuditLogAnnotation anno = handlerMethod.getMethodAnnotation(AuditLogAnnotation.class);
 | 
	
		
			
				|  |  | +			ApiOperation apiOperation = handlerMethod.getMethodAnnotation(ApiOperation.class);
 | 
	
		
			
				|  |  | +			String operateName = null;
 | 
	
		
			
				|  |  | +			if(StringUtils.isEmpty(operateName) && apiOperation != null){
 | 
	
		
			
				|  |  | +				operateName = apiOperation.value();
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if(StringUtils.isEmpty(operateName) && anno != null){
 | 
	
		
			
				|  |  | +				operateName = anno.operateName();
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if(anno != null){
 | 
	
		
			
				|  |  |  				saveLog(operateName,servletPath,request);
 | 
	
		
			
				|  |  | -				break;
 | 
	
		
			
				|  |  | +				return;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			if(servletPath.contains("/task/") || servletPath.contains("/import/") ){
 | 
	
		
			
				|  |  | +				return;
 | 
	
		
			
				|  |  |  			}
 | 
	
		
			
				|  |  | +			String substring = servletPath.substring(servletPath.lastIndexOf("/") + 1).toLowerCase();
 | 
	
		
			
				|  |  | +			if(ignoreLogUrl == null){
 | 
	
		
			
				|  |  | +				ignoreLogUrl = new ArrayList<>();
 | 
	
		
			
				|  |  | +				ignoreLogUrl.add("add");
 | 
	
		
			
				|  |  | +				ignoreLogUrl.add("insert");
 | 
	
		
			
				|  |  | +				ignoreLogUrl.add("query");
 | 
	
		
			
				|  |  | +				ignoreLogUrl.add("get");
 | 
	
		
			
				|  |  | +				ignoreLogUrl.add("find");
 | 
	
		
			
				|  |  | +				ignoreLogUrl.add("detail");
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			for (String e : ignoreLogUrl) {
 | 
	
		
			
				|  |  | +				if(substring.contains(e.toLowerCase())){
 | 
	
		
			
				|  |  | +					return;
 | 
	
		
			
				|  |  | +				}
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +			saveLog(operateName,servletPath,request);
 | 
	
		
			
				|  |  | +		}catch (Exception e){
 | 
	
		
			
				|  |  | +			e.printStackTrace();
 | 
	
		
			
				|  |  |  		}
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  |  
 |