无法禁用Hibernate日志消息

Ant*_*nio 5 java logging hibernate log4j

我正在使用Hibernate进行个人项目.在我的项目中,我有这些目录:

+
log4j.properties
+ bin
我的课程

使用Windows控制台,我转到项目目录(bin和conf的父目录),然后使用如下命令启动应用程序:

java -cp conf;lib/lib1.jar;lib/lib2.jar;[etc] com.moc.Main

我的log4j.properties文件是这个(取自hibernate示例):

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 - %m%n

log4j.rootLogger=info, stdout

log4j.logger.org.hibernate=error
log4j.logger.org.hibernate.tool.hbm2ddl=error
log4j.logger.org.hibernate.hql.ast.QueryTranslatorImpl=error
log4j.logger.org.hibernate.hql.ast.HqlSqlWalker=error
log4j.logger.org.hibernate.hql.ast.SqlGenerator=error
log4j.logger.org.hibernate.hql.ast.AST=error

在应用程序启动时,这是输出:

2010-11-06 19:00:56,376 - Logger.getRootLogger().info() statement
12 [main] INFO org.hibernate.cfg.Environment - Hibernate 3.5.3-Final
13 [main] INFO org.hibernate.cfg.Environment - hibernate.properties not found
16 [main] INFO org.hibernate.cfg.Environment - Bytecode provider name : javassist
20 [main] INFO org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
108 [main] INFO org.hibernate.cfg.Configuration - configuring from resource: com/moc/hibernate.cfg.xml
108 [main] INFO org.hibernate.cfg.Configuration - Configuration resource: com/moc/hibernate.cfg.xml
124 [main] INFO org.hibernate.cfg.Configuration - Reading mappings from file: conf\hiber\Customer.hbm.xml
.
.
.
and so on
.
.
.
795 [main] INFO org.hibernate.impl.SessionFactoryImpl - closing
795 [main] INFO org.hibernate.connection.DriverManagerConnectionProvider - cleaning up connection pool: jdbc:mysql://localhost/mydb

Hibernate日志行的颜色是红色,我的日志行是黑色.

为什么我仍然看到来自Hibernate的INFO输出?我究竟做错了什么?

har*_*rsh 2

检查 log4j 配置和运行时发生的事件的一个好方法是将 -Dlog4j.debug选项添加到 java 命令行。在你的情况下它将变成:

java  -Dlog4j.debug -cp conf;lib/lib1.jar;lib/lib2.jar;[etc] com.moc.Main
Run Code Online (Sandbox Code Playgroud)

这将在控制台上抛出 log4j 配置加载顺序的信息。然后您可以确定 log4j.properties 是否正确加载。