diff --git a/pom.xml b/pom.xml index aa960d4..278ec98 100644 --- a/pom.xml +++ b/pom.xml @@ -71,6 +71,12 @@ 3.12.0 + + + org.springframework.boot + spring-boot-starter-aop + + com.aliyun.oss diff --git a/src/main/java/com/bao/dating/aspect/RecordTimeAspect.java b/src/main/java/com/bao/dating/aspect/RecordTimeAspect.java new file mode 100644 index 0000000..993c2f8 --- /dev/null +++ b/src/main/java/com/bao/dating/aspect/RecordTimeAspect.java @@ -0,0 +1,31 @@ +package com.bao.dating.aspect; + +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.springframework.stereotype.Component; + +/** + * 记录方法运行耗时 + * @author KilLze + */ +@Slf4j +@Aspect +@Component +public class RecordTimeAspect { + @Around("execution(* com.bao.dating.service.impl.*.*(..))") + public Object recordTime(ProceedingJoinPoint pjp) throws Throwable { + //1. 记录方法运行的开始时间 + long begin = System.currentTimeMillis(); + + //2. 执行原始的方法 + Object result = pjp.proceed(); + + //3. 记录方法运行的结束时间, 记录耗时 + long end = System.currentTimeMillis(); + log.info("方法 {} 执行耗时: {}ms", pjp.getSignature() ,end-begin); + return result; + } + +}