• 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;
        }
    
    }
  • 相关阅读:
    oracle数据类型
    hive的union,hive连接查询的优化,mapjoin的设置参数
    hive分隔符
    hive load数据到表的方式
    hive的常用命令操作与数据类型以及hive的严格模式
    hadoop fs 与 dfs 的区别
    pl/sql程序语法,存储过程, orcle服务
    mysql连接启动
    HTTP协议
    php6
  • 原文地址:https://www.cnblogs.com/mytzq/p/10370656.html
Copyright © 2020-2023  润新知