每次我在 Eclipse 上启动我的 Java 时,它都会用日志信息淹没控制台:
Jun 10, 2014 2:34:01 AM org.hibernate.annotations.common.Version <clinit>
INFO: HCANN000001: Hibernate Commons Annotations {4.0.1.Final}
Jun 10, 2014 2:34:01 AM org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {4.0.0.Final}
Jun 10, 2014 2:34:01 AM org.hibernate.cfg.Environment <clinit>
INFO: HHH000206: hibernate.properties not found
Jun 10, 2014 2:34:01 AM org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
Jun 10, 2014 2:34:01 AM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000402: Using Hibernate built-in connection pool (not for production use!)
Jun 10, 2014 2:34:01 AM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
INFO: HHH000115: Hibernate connection pool size: 20
Jun 10, 2014 2:34:01 AM org.hibernate.service.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
[后面还有类似的 ~60 行]
到目前为止,我已经尝试过(基于此处的回答 How do you configure logging in Hibernate 4 to use SLF4J 和“官方” docs ):
System.setProperty("org.jboss.logging.provider", "jdk");
java.util.logging.Logger.getLogger("org.hibernate").setLevel(Level.OFF);
但是没有区别。 Hibernate 不断向控制台发送垃圾邮件。
Turning off hibernate logging console output一直没有用,因为正如评论中所述,Hibernate 4+ 使用 JBOSS 日志记录。
最佳答案
To use JBoss Logging with Log4j, the log4j jar would also need to be available on the classpath.
To use JBoss Logging with Log4j2, the log4j2 jar would also need to be available on the classpath.
To use JBoss Logging with Slf4j, the slf4j-api jar would also need to be available on the classpath plus any needed slf4j backend.
以上引自http://docs.jboss.org/hibernate/orm/4.3/topical/html/logging/Logging.html
所以如果你使用 log4j ,你可以将 log4j jar 添加到类路径,并使用 log4j config 来控制日志输出。
关于java - 如何禁用 Hibernate 4.0 日志记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24131354/