//package com.fdkankan.common.aop;
//
//import com.alibaba.fastjson.JSON;
//import com.fdkankan.common.constant.LogFormatConstant;
//import java.util.Enumeration;
//import javax.servlet.http.HttpServletRequest;
//import lombok.extern.slf4j.Slf4j;
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Pointcut;
//import org.aspectj.lang.reflect.MethodSignature;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.stereotype.Component;
//import org.springframework.web.context.request.RequestContextHolder;
//import org.springframework.web.context.request.ServletRequestAttributes;
//
//@Component
//@Aspect
//@Slf4j
//public class FeignInterceptor {
//
//	// 切入点表达式
//	@Pointcut("execution(* com.fdkankan.*.feign..*.*(..))")
//	public void privilege() {
//	}
//
//	@Around("privilege()")
//	public Object around(ProceedingJoinPoint pjp) throws Throwable {
//
//		// 获取类名
//		String className = pjp.getTarget().getClass().getName();
//		// 获取执行的方法名称
//		String methodName = pjp.getSignature().getName();
//		// 获取参数名称
//		String[] parameterNamesArgs = ((MethodSignature) pjp.getSignature()).getParameterNames();
//		// 定义返回参数
//		Object result = null;
//		// 获取方法参数
//		Object[] args = pjp.getArgs();
//		StringBuilder params = new StringBuilder();
//		for(int i = 0; i < parameterNamesArgs.length; i++){
//			params.append(",").append(parameterNamesArgs[i]).append("=").append(args[i]);
//		}
//		log.info(LogFormatConstant.FEIGN_LOG_START, className, methodName, params.substring(1));
//		// 执行目标方法
//		result = pjp.proceed();
//
//		log.info(LogFormatConstant.FEIGN_LOG_END, className, methodName, JSON.toJSONString(result));
//
//		return result;
//	}
//}
//
