Java 如何调试SpringAOP

Java 如何调试SpringAOP,java,debugging,spring,logging,aop,Java,Debugging,Spring,Logging,Aop,我对SpringAOP有一个问题,它没有将一个方面与它应该使用的所有方法联系起来(在我看来)(有关根本问题的更多信息,请参阅这个问题:) 如何调试,哪些方法和实例与哪些方面结合?是否有类似于spring aop的详细标志,它提供了这些信息?spring aop类中似乎没有太多日志代码,但是 如果Spring AOP决定使用Cglib创建代理,那么有一行可能会帮助您: // in org.springframework.aop.framework.Cglib2AopProxy.getPro

我对SpringAOP有一个问题,它没有将一个方面与它应该使用的所有方法联系起来(在我看来)(有关根本问题的更多信息,请参阅这个问题:)


如何调试,哪些方法和实例与哪些方面结合?是否有类似于spring aop的详细标志,它提供了这些信息?

spring aop类中似乎没有太多日志代码,但是

如果Spring AOP决定使用Cglib创建代理,那么有一行可能会帮助您:

    // in org.springframework.aop.framework.Cglib2AopProxy.getProxy(ClassLoader)
    if (logger.isDebugEnabled()) {
        logger.debug("Creating CGLIB2 proxy: target source is " + this.advised.getTargetSource());
    }
当使用JDK代理时,类似的方法似乎很有用:

    // in org.springframework.aop.framework.JdkDynamicAopProxy.getProxy(ClassLoader)
    if (logger.isDebugEnabled()) {
        logger.debug("Creating JDK dynamic proxy: target source is " + this.advised.getTargetSource());
    }

试着打开这两个类的调试级别日志记录,看看输出是什么。

Great pointer我用它作为通过spring AOP代码进行实际调试的起点。如何为这两个类启用调试级别日志记录?我使用logback。对于logback,添加如下内容: