| New file |
| | |
| | | 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; |
| | | } |
| | | } |