Commit c25f15a3 authored by 黎博's avatar 黎博

test

parent db453bd2
...@@ -29,80 +29,80 @@ import java.util.Map; ...@@ -29,80 +29,80 @@ import java.util.Map;
/** /**
* 日志切面 * 日志切面
*/ */
@Aspect //@Aspect
@Component //@Component
public class LogAspect { public class LogAspect {
private Logger logger = LoggerFactory.getLogger(LogAspect.class); // private Logger logger = LoggerFactory.getLogger(LogAspect.class);
private Map<String, Object> logMap = new HashMap<>(); // private Map<String, Object> logMap = new HashMap<>();
//
@Pointcut("execution(public * cn.quantgroup.qaplatform.controller..*.*(..))") // @Pointcut("execution(public * cn.quantgroup.qaplatform.controller..*.*(..))")
public void apiLog() {} // public void apiLog() {}
//
/** // /**
* 前置通知:在连接点之前执行的通知 // * 前置通知:在连接点之前执行的通知
* // *
* @param joinPoint // * @param joinPoint
* @throws Throwable // * @throws Throwable
*/ // */
@Before("apiLog()") // @Before("apiLog()")
public void doBefore(JoinPoint joinPoint) throws JsonProcessingException { // public void doBefore(JoinPoint joinPoint) throws JsonProcessingException {
ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); // ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = servletRequestAttributes.getRequest(); // HttpServletRequest request = servletRequestAttributes.getRequest();
Signature signature = joinPoint.getSignature(); // Signature signature = joinPoint.getSignature();
MethodSignature methodSignature = (MethodSignature) signature; // MethodSignature methodSignature = (MethodSignature) signature;
Method method = methodSignature.getMethod(); // Method method = methodSignature.getMethod();
logMap.put("url", request.getRequestURL().toString()); // logMap.put("url", request.getRequestURL().toString());
logMap.put("method", request.getMethod()); // logMap.put("method", request.getMethod());
logMap.put("host", request.getRemoteAddr()); // logMap.put("host", request.getRemoteAddr());
logMap.put("class", joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName()); // logMap.put("class", joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName());
logMap.put("requestParams", getParameter(method, joinPoint.getArgs())); // logMap.put("requestParams", getParameter(method, joinPoint.getArgs()));
// 记录下请求内容 // // 记录下请求内容
logger.info("请求信息:" + JsonTransUtils.mapToJson(logMap)); // logger.info("请求信息:" + JsonTransUtils.mapToJson(logMap));
} // }
//
/** // /**
* 后置通知:在连接点之后执行的通知 // * 后置通知:在连接点之后执行的通知
* // *
* @param ret // * @param ret
* @throws Throwable // * @throws Throwable
*/ // */
@AfterReturning(returning = "ret", pointcut = "apiLog()") // @AfterReturning(returning = "ret", pointcut = "apiLog()")
public void doAfterReturning(Object ret) throws Throwable { // public void doAfterReturning(Object ret) throws Throwable {
// 处理完请求,返回内容 // // 处理完请求,返回内容
logger.info("返回结果:" + JsonTransUtils.objToJson(ret)); // logger.info("返回结果:" + JsonTransUtils.objToJson(ret));
} // }
//
/** // /**
* 根据方法和传入参数获取请求参数 // * 根据方法和传入参数获取请求参数
*/ // */
private Object getParameter(Method method, Object[] args) { // private Object getParameter(Method method, Object[] args) {
List<Object> argList = new ArrayList<>(); // List<Object> argList = new ArrayList<>();
Parameter[] parameters = method.getParameters(); // Parameter[] parameters = method.getParameters();
for(int i=0; i < parameters.length; i++) { // for(int i=0; i < parameters.length; i++) {
//将RequestBody注解修饰的参数作为请求参数 // //将RequestBody注解修饰的参数作为请求参数
RequestBody requestBody = parameters[i].getAnnotation(RequestBody.class); // RequestBody requestBody = parameters[i].getAnnotation(RequestBody.class);
if (requestBody != null) { // if (requestBody != null) {
argList.add(args[i]); // argList.add(args[i]);
} // }
//
//将RequestParam注解修饰的参数作为请求参数 // //将RequestParam注解修饰的参数作为请求参数
RequestParam requestParam = parameters[i].getAnnotation(RequestParam.class); // RequestParam requestParam = parameters[i].getAnnotation(RequestParam.class);
if (requestParam != null) { // if (requestParam != null) {
Map<String, Object> map = new HashMap<>(); // Map<String, Object> map = new HashMap<>();
String key = parameters[i].getName(); // String key = parameters[i].getName();
if (!StringUtils.isEmpty(requestParam.value())) { // if (!StringUtils.isEmpty(requestParam.value())) {
key = requestParam.value(); // key = requestParam.value();
} // }
map.put(key, args[i]); // map.put(key, args[i]);
argList.add(map); // argList.add(map);
} // }
} // }
if (argList.size() == 0) { // if (argList.size() == 0) {
return null; // return null;
} else if (argList.size() == 1) { // } else if (argList.size() == 1) {
return argList.get(0); // return argList.get(0);
} else { // } else {
return argList; // return argList;
} // }
} // }
} }
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment