最近我们的接口中有两个被调用的时候比较缓慢,一个查询大概需要2-3秒的样子,我们需要定位一下具体需要的时间秒数,就让某猿过去实现了。提交代码我review的时候我吓了一跳,那那两个类进行了手动统计时间,代码就不贴了,这样十分不好啊,如果以后要统计其他的controller或者service那就得手动再写,所以我重写了一份
我们需要对service以及controller进行统计,然后我们并没有使用xml的形式进行sop配置,使用aspectj即可,所以在springmvc.xml以及application-service.xml中都要开启aspectj 注解
在这里我们使用@Around通知来进行针对service的切面拦截,
这里就写的十分简单了,针对不同的耗时分别输出打印日志的类型
有部分朋友喜欢把数据保存到数据库中,其实我不推荐,最好是存入mongodb中即可,一来减少数据库压力,一来便于日后对日志进行分析统计以及报表制作。
最后的输出是这样的