How to turn on Spring's component-scan debuggi

2019-04-07 12:53发布

I am trying to find out the number of database tables the application I am maintaining, uses. I have this in my appContext.xml

 <context:component-scan base-package="com.foo, com.bar" use-default-filters="false">
 <context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />
 <context:include-filter type="annotation" expression="org.springframework.stereotype.Component" />
 <context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
 </context:component-scan>
         ....
 <jpa:repositories base-package="com.foo.abc, com.bar.def" />

There are other sub projects associated with this project where @Entity and @Repository have liberally been used. I am thinking if I am just able to turn on Spring's debugging somehow, which will list all classnames as and when it scans them based on the base package, I should be able to find all jpa repositories. How can I turn on springs debugging to spit out this information ?

This is what I have in my log4j.properties :

log4j.rootLogger=error, file
log4j.category.org.hibernate=debug, hb
log4j.category.org.springframework=debug, spring

2条回答
叛逆
2楼-- · 2019-04-07 12:57

It's a bit old topic but I found solution that worked for me (Spring 4.1.7):

<logger name="org.springframework.core.io.support" level="debug"/> <logger name="org.springframework.context.annotation" level="debug"/>

查看更多
我只想做你的唯一
3楼-- · 2019-04-07 13:06

The class that handles registering the repositories is org.springframework.data.repository.config.RepositoryConfigurationDelegate. You need to either set your rootLogger level to debug or configure log4j to have a child logger for org.springframework.data.repository.config.RepositoryConfigurationDelegate or any of its parents with log level DEBUG.

查看更多
登录 后发表回答