zoukankan      html  css  js  c++  java
  • springboot aop 拦截接口执行时间

    /**
     * @description:    记录接口执行时间日志的记录
     * @author: 
     * @create 2018-12-27 16:32
     */
    @Target(ElementType.METHOD)
    @Retention(RetentionPolicy.RUNTIME)
    @Documented
    public @interface OptimizeLog {
    }
    package com.wsh.b2q.pc.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.aspectj.lang.annotation.Pointcut;
    import org.aspectj.lang.reflect.MethodSignature;
    import org.springframework.stereotype.Component;
    
    
    /**
     * @description:
     * @author: lvws
     * @create 2018-12-27 16:34
     */
    @Aspect
    @Component
    @Slf4j
    public class OptimizeLogAspect {
        @Pointcut("@annotation(OptimizeLog的路径)")
        public void logPointCut() {
    
        }
    
        @Around("logPointCut()")
        public Object around(ProceedingJoinPoint point) throws Throwable {
            //开始时间
            long start = System.currentTimeMillis();
            //执行方法
            Object result = point.proceed();
            long end = System.currentTimeMillis();
            MethodSignature signature = (MethodSignature) point.getSignature();
    
            //请求的方法名
            String className = point.getTarget().getClass().getName();
            String methodName = signature.getName();
            log.debug("【接口执行时间】接口名:{}.{},执行时间:{}毫秒",className,methodName,(end-start));
            log.info("【接口执行时间】接口名:{}.{},执行时间:{}毫秒",className,methodName,(end-start));
            return result;
        }
    
    }
  • 相关阅读:
    luffy后台登录+注册+课程
    luffy前台登录+注册+课程
    luffy前台准备
    luffy后台准备
    跨域请求
    pip源和虚拟环境的搭建
    Book接口
    drf-Xadmin的使用
    drf-JWT认证
    drf-自动生成接口文档
  • 原文地址:https://www.cnblogs.com/mytzq/p/10370656.html
Copyright © 2011-2022 走看看