使用Log4J记录Spring bean初始化 [英] Logging Spring bean initialization with Log4J
问题描述
当我运行我的应用程序时,它会在bean初始化时停止,但不会显示任何日志条目。所以我不知道发生了什么:
When I run my application, it stops when beans are initializing but doesn't show any logs entries. So I don't know what happened:
Log4j.properties
log4j.rootLogger=DEBUG, stdout, R
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
org.springframework=DEBUG
org.springframework.beans.factory.support=DEBUG
log4j.logger.org.springframework.beans.factory.support=DEBUG
log4j.logger.org.springframework.beans=DEBUG
log4j.category.org.springframework.beans.factory=DEBUG
log4j.logger.org.springframework=DEBUG
log4j.logger.org.hibernate.hql.ast.AST=info
log4j.logger.org.hibernate.tool.hbm2ddl=warn
log4j.logger.org.hibernate.cache=info
log4j.logger.org.hibernate.jdbc=debug
log4j.logger.org.hibernate.type=trace
log4j.additivity.org.hibernate.SQL=false
log4j.logger.org.hibernate.transaction=debug
log4j.logger.java.sql.Statement=DEBUG
log4j.appender.stdout.layout.ConversionPattern=%d %t %C{1}- %m%n
log4j.appender.R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=${log4j.appender.R.File}
log4j.appender.R.MaxFileSize=2MB
log4j.appender.R.MaxBackupIndex=0
log4j.appender.R.Append=true
log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%d %t (%l) - %m%n
我希望得到类似的结果:
I want to get something like:
"BeanName" initialized
"BeanName" initialized
etc...
那么我就知道初始化停止了。当bean初始化时,是否有可能在日志中获得这样的输出?
So then I would know where the initialization stopped. Is it possible to get such an output in the logs, when beans are initializing?
推荐答案
您需要将 org.springframework.beans.factory.support.DefaultListableBeanFactory 设置为调试级别。输出看起来像这样:
You need to set "org.springframework.beans.factory.support.DefaultListableBeanFactory" to debug level. The output looks something like this:
... - Creating instance of bean ...
... - Finished creating instance of bean ...
更新:
将此添加到log4j.properties:
Add this to log4j.properties:
log4j.logger.org.springframework.beans.factory.support.DefaultListableBeanFactory=DEBUG
请记住,Spring正在使用 commons -logging框架,因此这些行不会出现在Log4J日志中。要重定向,请使用 SLF4J 。添加 slf4j-api.jar,jcl-over-slf4j.jar,slf4j-log4j12.jar 和log4j.jar到你的lib目录并从中删除commons-logging.jar。
Keep in mind that Spring is using the commons-logging framework, therefore these lines will not appear in your Log4J logs. To redirect them use SLF4J. Add slf4j-api.jar, jcl-over-slf4j.jar, slf4j-log4j12.jar and log4j.jar to your lib directory and remove commons-logging.jar from it.
这篇关于使用Log4J记录Spring bean初始化的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!