AOP如何实现监控方法执行耗时

本篇内容主要讲解“AOP如何实现监控方法执行耗时”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“AOP如何实现监控方法执行耗时”吧!

@AllArgsConstructor
@Aspect
@Slf4j
@Component
publicclassStopWatchPrinterimplementsSerializable{
privatestaticfinallongserialVersionUID=-8557926864119671723L;
privatestaticfinalStringDELIMITER="#";
privatestaticfinalStringPREFIX="_threadId";

/**
*com.xxx.batching包及所有子包下任何类的任何方法
*/
@Pointcut("execution(*com.xxx.batching..*.*(..))")
publicvoidpointCut(){}

@Around("pointCut()")
publicObjectwatch(ProceedingJoinPointpjp){
StopWatchwatcher=newStopWatch(newStringJoiner(DELIMITER)
.add(pjp.getSignature().toString())
.add(PREFIX)
.add(Thread.currentThread().getName()).toString());

watcher.start(pjp.getSignature().toString());
Objectproceed=null;
try{
proceed=pjp.proceed();
}catch(Throwablee){
log.error("watcherror",e);
}
watcher.stop();
log.info("###watchend...print:{}",watcher.prettyPrint());
returnproceed;
}

}

到此,相信大家对“AOP如何实现监控方法执行耗时”有了更深的了解,不妨来实际操作一番吧!这里是恰卡编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

AOP如何实现监控方法执行耗时

发布于 2021-07-09 21:19:23
收藏
分享
海报
0 条评论
195
上一篇:thinkphp中网站缓存写入失败如何解决 下一篇:thinkphp中construct构造函数如何使用
目录

    0 条评论

    本站已关闭游客评论,请登录或者注册后再评论吧~

    忘记密码?

    图形验证码