引包
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
/**
* @Date: 2020/7/15 20:56
* @Description:
*/
@Slf4j
@Aspect
@Component
public class ServiceLogAspect {
//impl下面的所有方法
@Around("execution(* com.etc.service.impl..*.*(..))")
public Object recoredTimeLog(ProceedingJoinPoint proceedingJoinPoint) throws Throwable {
log.info("***********开始执行{}.{}************", proceedingJoinPoint.getTarget().getClass()
, proceedingJoinPoint.getSignature().getName());
long begin = System.currentTimeMillis();
Object object=proceedingJoinPoint.proceed();
long send = System.currentTimeMillis();
long taketime=send-begin;
if (taketime>3000){
log.error("*****执行结束 , 耗时 :{} 毫秒******",taketime);
}else if (taketime>2000){
log.warn("*****执行结束 , 耗时 :{} 毫秒******",taketime);
}else {
log.info("*****执行结束 , 耗时 :{} 毫秒******",taketime);
}
return object;
}
}