springboot 框架计算每个方法执行时间,显示在日志中

本人微信 zf363133213 欢迎各位添加好友,共同探讨问题

加入aop的jar

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-aop</artifactId>

</dependency>

//代码如下

@Aspect

@Component

public class ServiceAspect {

    Logger logger = LoggerFactory.getLogger(ServiceAspect.class);

    @Pointcut("execution(* com.service.*.*.*ServiceImpl.*(..))")

     private void pointCutMethodService(){

    }

    @Around("pointCutMethodService()")

    public Object doAroundService(ProceedingJoinPoint pjp) throws Throwable{

    long begin = System.nanoTime();

    Object obj=pjp.proceed();

    long end =System.nanoTime();

    logger.info("调用Service方法:{},参数:{},执行耗时:{}纳秒,耗时:{}毫秒",

    pjp.getSignature().toString(),Arrays.toString(pjp.getArgs()),(end-begin),(end-begin)/1000000);

    return obj;

    }

}

展开阅读全文

没有更多推荐了,返回首页