依赖包
spring 5.0.0 版本
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjweaver</artifactId>
<version>4.0.0</version>
</dependency>
代码
private AopClass{
@Pointcut
private void controllerAspect(){}
@Around("controllerAspect()")
public Object doAround(ProceedingJoinPoint joinPoint) {
Long beginTime = System.currentTimeMillis();
Object[] obj = joinPoint.getArgs();
Stream<Object> stream = ArrayUtils.isEmpty(obj) ? Stream.empty() : Arrays.asList(obj).stream();
List<Object> logArgs = stream.filter(arg -> (!(arg instanceof HttpServletRequest) && !(arg instanceof HttpServletResponse)&&!(arg instanceof HttpSession)&&!(arg instanceof MultipartFile))).collect(Collectors.toList());
String requestParam = JSON.toJSONString(logArgs);
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder.getRequestAttributes()).getRequest();
String url = request.getRequestURL().toString();
String method = request.getMethod();
log.info("方法:" + method + ",url :" + url + ",请求参数:" + requestParam);
Object result = joinPoint.proceed();
}
}