<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
@Aspect
@Component
public class LogAspect {
Logger logger = LoggerFactory.getLogger(this.getClass());
@Around("execution(* com.yang.controller.*.*(..))&&@annotation(apiOperation)")
public Object around(ProceedingJoinPoint joinPoint, ApiOperation apiOperation) throws Throwable {
StringBuilder logInfo = new StringBuilder("用户访问了:");
Class<?> controller = joinPoint.getThis().getClass();
Api api = controller.getAnnotation(Api.class);
if(api!=null){
logInfo.append(api.value());
}
String value = apiOperation.value();
logInfo.append("-------"+value);
logger.info(logInfo.toString());
return joinPoint.proceed();
}
}
