自动化立体仓库 - WMS系统
pang.jiabao
2024-10-25 f5834172b9583cd727382bd4084df09b8a520a78
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package com.zy.common.config;
 
/**
 * @author pang.jiabao
 * @description
 * @createDate 2024/10/25 16:18
 */
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
 
@Aspect
@Component
public class SqlExecutionTimeAspect {
 
    private static final Logger logger = LoggerFactory.getLogger(SqlExecutionTimeAspect.class);
 
    @Around("execution(* com.zy.asrs.mapper..*(..))") // 替换为你的Mapper包路径
    public Object logSqlExecutionTime(ProceedingJoinPoint joinPoint) throws Throwable {
        long startTime = System.currentTimeMillis();
        Object result = joinPoint.proceed();
        long duration = System.currentTimeMillis() - startTime;
 
        if (duration > 500) { // 设置阈值
            logger.error("慢SQL: {},执行时间: {}毫秒", joinPoint.getSignature(), duration);
        }
 
        return result;
    }
}