SpringBoot中使用AOP 监控sql耗时
2017-02-20 17:10
357 查看
添加aop依赖
写切面类
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-aop</artifactId> </dependency>
写切面类
package com.mycompany.financial.nirvana.core.aspect; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Pointcut; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Component; import java.util.Arrays; /** * 使用aop监控Mapper执行时间 * Created by me on 2017/2/20. */ @Aspect @Component public class MapperAspect { private static final Logger logger = LoggerFactory.getLogger(MapperAspect.class); @AfterReturning("execution(* com.mycompany.financial.nirvana..*Mapper.*(..))") public void logServiceAccess(JoinPoint joinPoint) { logger.info("Completed: " + joinPoint); } /** * 监控com.caiyi.financial.nirvana..*Mapper包及其子包的所有public方法 */ @Pointcut("execution(* com.mycompany.financial.nirvana..*Mapper.*(..))") private void pointCutMethod() { } /** * 声明环绕通知 * @param pjp * @return * @throws Throwable */ @Around("pointCutMethod()") public Object doAround(ProceedingJoinPoint pjp) throws Throwable { long begin = System.nanoTime(); Object obj = pjp.proceed(); long end = System.nanoTime(); logger.info("调用Mapper方法:{},\n参数:{},\n执行耗时:{}纳秒,\r\n耗时:{}毫秒", pjp.getSignature().toString(), Arrays.toString(pjp.getArgs()), (end - begin), (end - begin) / 1000000); return obj; } }
相关文章推荐
- SpringBoot中使用AOP 监控sql耗时
- spring-boot 之 使用Admin监控应用
- 46. Spring Boot中使用AOP统一处理Web请求日志【从零开始学Spring Boot】
- Spring Boot中使用AOP统一处理Web请求日志
- Spring Boot中使用AOP统一处理Web请求日志
- 使用Spring Boot Actuator监控应用
- spring-boot 之 使用Admin监控应用
- 15、Spring Boot使用Druid和监控配置【从零开始学Spring Boot】
- 在传统Spring应用中使用spring-boot-actuator模块提供监控端点
- spring-boot 之 使用Admin监控应用
- springboot 中使用AOP
- Spring Boot使用Druid和监控配置
- Spring Boot(十一)使用AOP,@Aspect统一处理Web请求日志
- (15)Spring Boot使用Druid和监控配置【从零开始学Spring Boot】
- Spring Boot 使用 Druid 和监控配置
- Spring Boot 使用 Druid 和监控配置
- spring-boot 之 使用Admin监控应用
- Spring Boot中使用AOP统一处理Web请求日志
- spring boot-aop的使用
- Spring Boot 使用 Druid 和监控配置