Hibernate: how do you adjust the default logging level (SJF4J and JDK 1.4 logger)?
hibernate, java, java.util.logging, logging, slf4j
Solution
I would always prefer to configure the logging framework with a central configuration file instead of several specific logging settings of libraries, because that's one of the reasons to use a logging framework at all.
Hibernate seems to follow that philosophy and since you are using JDK logging just configure the log level with a property file.
Problem
I have a JavaSE/Hibernate test app (shell-based). I put the following JARs into the project's lib dir: ``` antlr-2.7.6.jar commons-collections-3.1.jar commons-lang-2.5.jar dom4j-1.6.1.jar hibernate-jpa-2.0-api-1.0.0.Final.jar hibernate3.jar javassist-3.12.0.GA.jar jta-1.1.jar slf4j-api-1.6.1.jar slf4j-jdk14-1.6.1.jar ``` As you can see, I'm using SLF4J with the JDK 1.4 logger. When I run my test app from the shell, Hibernate is very verbose because it is set to the INFO level by default: ``` 09.12.2010 02:23:14 org.hibernate.annotations.common.Version <clinit> INFO: Hibernate Commons Annotations 3.2.0.Final 09.12.2010 02:23:14 org.hibernate.cfg.Environment <clinit> INFO: Hibernate 3.6.0.Final 09.12.2010 02:23:14 org.hibernate.cfg.Environment <clinit> INFO: hibernate.properties not found 09.12.2010 02:23:14 org.hibernate.cfg.Environment buildBytecodeProvider INFO: Bytecode provider name : javassist 09.12.2010 02:23:14 org.hibernate.cfg.Environment <clinit> INFO: using JDK 1.4 java.sql.Timestamp handling 09.12.2010 02:23:14 org.hibernate.ejb.Version <clinit> INFO: Hibernate EntityManager 3.6.0.Final 09.12.2010 02:23:15 org.hibernate.cfg.AnnotationBinder bindClass INFO: Binding entity from annotated class: tld.standalone.bbstats.model.Game 09.12.2010 02:23:15 org.hibernate.cfg.annotations.EntityBinder bindTable INFO: Bind entity tld.standalone.bbstats.model.Game on table Games 09.12.2010 02:23:15 org.hibernate.cfg.AnnotationBinder bindClass INFO: Binding entity from annotated class: tld.standalone.bbstats.model.Roster 09.12.2010 02:23:15 org.hibernate.cfg.annotations.EntityBinder bindTable INFO: Bind entity tld.standalone.bbstats.model.Roster on table Rosters . . . ``` How do I adjust the Hibernate logging level, to say WARNING? EclipseLink for example let's you specify the level via a property (persistence.xml): ``` <property name="eclipselink.logging.level" value="INFO" /> <property name="eclipselink.logging.level.sql" value="FINE" /> ``` Is there an equivalent in Hibernate?