java - AOP为什么不用@around做日志
本文介绍了java - AOP为什么不用@around做日志的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
最近在看AOP相关的东西,比如aop可以做日志,可以做鉴权,可以做方法的耗时,但是在看日志的时候想到,为什么不用@around做日志呢,比如下图:
有一点不足之处我是知道的
1.当方法抛出异常时 around中是不继续执行下去的。从而只有[开始执行],而用before after无论方法是否抛出异常都能输出完整的 [开始执行] ,[执行结束]。
那另外呢?有大神告知吗?新手轻喷...
解决方案
这个很灵活的,没有特殊规定不能使用around做日志,并且如果你希望在出现异常时候显示日志,也可以用 try catch finally
包起来。
Object result = null;
logger.info("begin");
try{
result = pjp.proceed();
}catch(Excrption e){
logger.info("error");
throw e;
}finally
logger.info("end");
}
这篇关于java - AOP为什么不用@around做日志的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文