JoinPoint处理'catch'行

时间:2015-08-10 19:22:09

标签: java spring-mvc spring-aop

所以我编写了大量代码,大部分都有以下几行

public <method_constraint> <methodname>(<some args>) {
    try { 
        // do some logic here 
    } catch(Exception e) { 
        // do some logic here
    } finally { 
        //do some logic here
    }
}

其中一些捕获行有e.printStackTrace();,而其中一些没有。{/ p>

我正在寻找SpringAOP来创建一些JoinPoints和PointCuts来处理它。 反正我是否真的记录了在没有函数抛出异常的情况下捕获的异常?

我想在这里实现的是每当我有一个'catch'行时,我想在该捕获行上记录异常的stacktrace。

这可能吗?

这是我现有的一个方面。 这会记录所有进行的方法调用:

@Aspect
@Component
public class MethodCallAspect {

    private static DebugManager logger = DebugManager.getInstance(MethodCallAspect.class);

    @Before("execution(* com.cistera..*(*))")
    public void loggingAdvice(JoinPoint joinPoint) {
        StringBuilder methodCall = new StringBuilder(joinPoint.getTarget().getClass().toString()).append(" - ").append(joinPoint.getSignature().getName());
        logger.debug(methodCall.toString());
    }

}

PS:我可以进入每个类并从每个'catch'行记录stacktrace,但是这将是一个痛苦的,必须更新大量的代码。

谢谢。

0 个答案:

没有答案