无法关闭休眠信息日志记录

时间:2011-12-25 00:57:46

标签: java hibernate java-ee logging log4j

我正在使用log4j 我的配置如下:

log4j.rootLogger=OFF, stdout, rootLog
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender.rootLog=org.apache.log4j.RollingFileAppender
log4j.appender.rootLog.File=${user.home}/logs/mylog.log
log4j.appender.rootLog.MaxFileSize=10000KB
log4j.appender.rootLog.MaxBackupIndex=3
log4j.appender.rootLog.layout=org.apache.log4j.PatternLayout
log4j.appender.rootLog.layout.ConversionPattern=%p %t %c - %m%n

# Control/Limit integrated frameworks logging messages

log4j.logger.org.hibernate=OFF
log4j.logger.org.springframework=OFF

虽然我关闭了根记录器和休眠日志记录

我仍在控制台中看到信息:

2099 [main] INFO org.hibernate.cfg.SettingsFactory
2440 [main] INFO org.hibernate.tool.hbm2ddl.SchemaExport
3239 [main] WARN org.hibernate.util.JDBCExceptionReporter

如何制止,请指教,谢谢。

更新:记录jar /依赖项:

       <dependency>
         <groupId>org.slf4j</groupId>
         <artifactId>slf4j-simple</artifactId>
         <version>1.5.8</version>
        </dependency>



        <dependency>

            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.15</version>
            <exclusions>
             <exclusion>
             <groupId>com.sun.jdmk</groupId>
             <artifactId>jmxtools</artifactId>
            </exclusion>
            <exclusion>
             <groupId>com.sun.jmx</groupId>
             <artifactId>jmxri</artifactId>
            </exclusion>
          </exclusions>

        </dependency>

2 个答案:

答案 0 :(得分:5)

这不是你的log4j配置。您列出的输出与您在配置文件中显示的任何转换模式都不匹配。它正在使用其他一些配置。

更新:根据您更新的问题,如果您使用的是SLF4J Logger,那么您甚至不使用Log4J,因为您正在使用slf4j-simple绑定,“输出全部事件发送到System.err。只有“{3}}”才会打印级别为INFO或更高级别的消息。要使用Log4J,必须使用slf4j-log4j12绑定。

答案 1 :(得分:1)

首先需要找出它正在使用的log4j配置文件。您可以在运行Java时打开log4j上的debug作为-D参数,它会告诉您。