I am trying to use log4j 1.2 jar in my hibernate 3.1 (in eclipse) example project. The java code runs perfecly, but the console shows me the following log4j warnings -

log4j:ERROR Could not find value for key 
log4j.appender.stdout log4j.logger.org.hibernate.info
log4j:ERROR Could not instantiate appender named 
"stdout log4j.logger.org.hibernate.info".

I have referenced the following -

  1. log4j-1.2.17.jar
  2. slf4j-api-1.6.0.jar
  3. slf4j-simple-1.6.0.jar

My log4j.properties file contains -

### Direct log messages to stdout ###
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

### set log levels - ###
log4j.rootLogger=warn, stdout log4j.logger.org.hibernate.info

### log JDBC bind parameters ###
log4j.logger.org.hibernate.type=debug

###log schema export/update ###
log4j.logger.org.hibernate.tool.hbm2ddl=debug

How do I fix these warnings ? I am new to logging and I need some help to figure it out.

Thanks.

有帮助吗?

解决方案

This line:

### Set Log Levels - ### 
log4j.rootLogger=warn, stdout log4j.logger.org.hibernate=info 

Should be broken into two lines:

log4j.rootLogger=warn, stdout 
log4j.logger.org.hibernate=info

Wow ! As a newbie. I would have never figured out something like this.

The code I use finally is here -

### Direct log4j properties to STDOUT ###  
log4j.appender.stdout=org.apache.log4j.ConsoleAppender  
log4j.appender.stdout.Target=System.out  
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout  
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n  

### Set Log Levels - ###  
log4j.rootLogger=warn, stdout  
log4j.logger.org.hibernate=info  

### Log JDBC Bind Parameters ###  
log4j.logger.org.hibernate.type=debug  

### Log schema/export update ###  
log4j.logger.org.hibernate.tool.hbm2ddl=debug 
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top