mirror of
https://codeup.aliyun.com/67c68d4e484ca2f0a13ac3c1/ydc/jsowell-charger-web.git
synced 2026-04-20 02:55:04 +08:00
统计方法耗时
This commit is contained in:
@@ -68,6 +68,10 @@
|
||||
</exclusion>
|
||||
</exclusions>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.projectlombok</groupId>
|
||||
<artifactId>lombok</artifactId>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
|
||||
@@ -0,0 +1,39 @@
|
||||
package com.jsowell.framework.aspectj;
|
||||
|
||||
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;
|
||||
|
||||
@Aspect
|
||||
@Component// 使用spring容器进行管理
|
||||
@Slf4j
|
||||
public class CostTimeAspect {
|
||||
/**
|
||||
* 首先定义一个切点
|
||||
*/
|
||||
// @org.aspectj.lang.annotation.Pointcut("@annotation(com.counttime.annotation.entity.CostTime)")
|
||||
@org.aspectj.lang.annotation.Pointcut("@annotation(com.jsowell.common.annotation.CostTime)")
|
||||
public void countTime() {
|
||||
|
||||
}
|
||||
|
||||
@Around("countTime()")
|
||||
public Object doAround(ProceedingJoinPoint joinPoint) {
|
||||
Object obj = null;
|
||||
try {
|
||||
long beginTime = System.currentTimeMillis();
|
||||
obj = joinPoint.proceed();
|
||||
// 获取方法名称
|
||||
String methodName = joinPoint.getSignature().getName();
|
||||
// 获取类名称
|
||||
String className = joinPoint.getSignature().getDeclaringTypeName();
|
||||
log.info("统计方法耗时, 类:[{}], 方法:[{}], 耗时时间为:[{}]", className, methodName, (System.currentTimeMillis() - beginTime) / 1000 + "秒");
|
||||
} catch (Throwable throwable) {
|
||||
throwable.printStackTrace();
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user