| 
					
				 | 
			
			
				@ -1,52 +1,52 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.exception.advice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.exception.ApiException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.restmodel.common.base.BaseEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.ControllerAdvice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.ExceptionHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.bind.annotation.ResponseBody; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.cloud.sleuth.Tracer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.context.request.RequestContextHolder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.web.context.request.ServletRequestAttributes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * 统一异常处理器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 * Created by 刘文彬 on 2018/5/9. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@ControllerAdvice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class MyControllerAdvice { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private Tracer tracer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private final Logger logger = LoggerFactory.getLogger(this.getClass()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ExceptionHandler(value = ApiException.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseEnvelop myErrorHandler(ApiException ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        tracer.getCurrentSpan().tag("ApiExcepiton.Tag",new JSONObject(request.getParameterMap()).toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        tracer.getCurrentSpan().logEvent(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.error(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return BaseEnvelop.getError(ex.getMessage(),ex.getErrorCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @ExceptionHandler(value = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public BaseEnvelop myErrorHandler2(Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        tracer.getCurrentSpan().tag("Excepiton.Tag",new JSONObject(request.getParameterMap()).toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        tracer.getCurrentSpan().logEvent(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        logger.error(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return BaseEnvelop.getError(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//package com.yihu.jw.exception.advice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import com.yihu.jw.exception.ApiException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import com.yihu.jw.restmodel.common.base.BaseEnvelop; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.slf4j.Logger; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.slf4j.LoggerFactory; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.springframework.web.bind.annotation.ControllerAdvice; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.springframework.web.bind.annotation.ExceptionHandler; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.springframework.web.bind.annotation.ResponseBody; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.springframework.cloud.sleuth.Tracer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.json.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.springframework.web.context.request.RequestContextHolder; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import org.springframework.web.context.request.ServletRequestAttributes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import javax.servlet.http.HttpServletRequest; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import java.util.HashMap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				///** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// * 统一异常处理器 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// * Created by 刘文彬 on 2018/5/9. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//@ControllerAdvice 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//public class MyControllerAdvice { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    private Tracer tracer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    private final Logger logger = LoggerFactory.getLogger(this.getClass()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    @ExceptionHandler(value = ApiException.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    public BaseEnvelop myErrorHandler(ApiException ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        tracer.getCurrentSpan().tag("ApiExcepiton.Tag",new JSONObject(request.getParameterMap()).toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        tracer.getCurrentSpan().logEvent(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        logger.error(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        return BaseEnvelop.getError(ex.getMessage(),ex.getErrorCode()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    @ResponseBody 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    @ExceptionHandler(value = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    public BaseEnvelop myErrorHandler2(Exception ex) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        tracer.getCurrentSpan().tag("Excepiton.Tag",new JSONObject(request.getParameterMap()).toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        tracer.getCurrentSpan().logEvent(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        logger.error(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//        return BaseEnvelop.getError(ex.getMessage()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				// 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				//} 
			 |