web-dev-qa-db-ja.com

Log4Jを使用したSpringBeanの初期化のログ記録

アプリケーションを実行すると、Beanが初期化されると停止しますが、ログエントリは表示されません。だから私は何が起こったのか分かりません:

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

私は次のようなものを手に入れたいです:

"BeanName" initialized 
"BeanName" initialized
etc...

したがって、初期化がどこで停止したかがわかります。 Beanが初期化されているときに、そのような出力をログに取得することは可能ですか?

11
Mateusz

org.springframework.beans.factory.support.DefaultListableBeanFactory」をdebugレベルに設定する必要があります。出力は次のようになります。

... - Creating instance of bean ...
... - Finished creating instance of bean  ...

更新:

これを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を削除します。

9
Stefan

log4j xmlに追加します(すでにlavel ERRORのあるものがあるかどうかを確認し、INFOまたはDEBUGのいずれかに変更します

<logger name="org.springframework">
        <level value="INFO" />
</logger>
2
Pravin