错误 - 无法使用log4j进行日志记录

时间:2014-04-24 23:29:05

标签: java logging log4j

我正在尝试在log4j 1.2 jarhibernate 3.1)示例项目中使用eclipse。 java代码完全运行,但控制台向我显示以下log4j警告 -

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".

我引用了以下内容 -

  1. 的log4j-1.2.17.jar
  2. SLF4J-API-1.6.0.jar
  3. SLF4J-简单1.6.0.jar
  4. 我的log4j.properties文件包含 -

    ### 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
    

    如何修复这些警告?我是伐木新手,我需要一些帮助 想办法。

    感谢。

1 个答案:

答案 0 :(得分:5)

这一行:

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

应分为两行:

log4j.rootLogger=warn, stdout 
log4j.logger.org.hibernate=info
哇!作为一个新手。我从来没有想过这样的事情。

我最终使用的代码就在这里 -

### 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