AOP为什么不用@around做日志

最近在看AOP相关的东西,比如aop可以做日志,可以做鉴权,可以做方法的耗时,但是在看日志的时候想到,为什么不用@around做日志呢,比如下图:
clipboard.png

有一点不足之处我是知道的
1.当方法抛出异常时 around中是不继续执行下去的。从而只有[开始执行],而用before after无论方法是否抛出异常都能输出完整的 [开始执行] ,[执行结束]。

那另外呢?有大神告知吗?新手轻喷...

阅读 4.7k
1 个回答

这个很灵活的,没有特殊规定不能使用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");
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题