java - AOP为什么不用@around做日志

查看:468
本文介绍了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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆