2014-06-10 151 views
3

每次我启动我的Java基于Eclipse时,将把与日志信息控制台:如何禁用Hibernate 4.0日志记录?

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); 

但它没有什么区别。休眠不断发送垃圾邮件的控制台。

Turning off hibernate logging console output一直没有用,因为正如注释中所述,Hibernate 4+使用JBOSS日志记录。

回答

1
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的配置来控制日志输出。

+0

您还可以使用Logback替换JBoss日志记录。需要slf4j-api,logback-core,logback-classic和logback.xml;) – Vito

+0

感谢您的回答,但我实际上希望**禁用**日志记录,因为它会使'stderr'混乱。 – MBlanc