title: Tomcat catalina.out file is growing very rapidly! How to prevent Hibernate's INFO and DEBUG statements from getting added to catalina.out file?
body: <p>My Java application (Spring, Hibernate, MySQL) is running in Tomcat 5.5</p>
  
  <p>After the last set of changes to my application, Tomcat's catalina.out file is growing very rapidly. With each query it adds a few MBs of INFO and DEBUG statements to the file</p>
  
  <p>The log file has very large number of INFO and DEBUG statements such as the following:</p>
  
  <pre><code>01:52:45.412 [main] INFO  o.hibernate.cfg.annotations.Version - Hibernate Annotations 3.5.6-Final
  01:52:45.465 [main] INFO  org.hibernate.cfg.Environment - Hibernate 3.5.6-Final
  01:52:45.468 [main] INFO  org.hibernate.cfg.Environment - hibernate.properties not found
  01:52:45.473 [main] INFO  org.hibernate.cfg.Environment - Bytecode provider name : javassist
  01:52:45.479 [main] INFO  org.hibernate.cfg.Environment - using JDK 1.4 java.sql.Timestamp handling
  01:52:45.629 [main] DEBUG o.h.i.f.DefaultIdentifierGeneratorFactory - Registering IdentifierGenerator strategy [uuid] -&gt; [class org.hibernate.id.UUIDHexGenerator]
  01:52:45.635 [main] DEBUG o.h.i.f.DefaultIdentifierGeneratorFactory - Registering IdentifierGenerator strategy [hilo] -&gt; [class org.hibernate.id.TableHiLoGenerator]
  01:52:45.636 [main] DEBUG o.h.i.f.DefaultIdentifierGeneratorFactory - Registering IdentifierGenerator strategy [assigned] -&gt; [class org.hibernate.id.Assigned]
  01:52:45.639 [main] DEBUG o.h.i.f.DefaultIdentifierGeneratorFactory - Registering IdentifierGenerator strategy [identity] -&gt; [class org.hibernate.id.IdentityGenerator]
  01:52:45.640 [main] DEBUG o.h.i.f.DefaultIdentifierGeneratorFactory - Registering IdentifierGenerator strategy [select] -&gt; [class org.hibernate.id.SelectGenerator]
  
  
  01:52:45.668 [main] INFO  o.h.annotations.common.Version - Hibernate Commons Annotations 3.2.0.Final
  01:52:45.719 [main] DEBUG o.h.cfg.AnnotationConfiguration - Execute first pass mapping processing
  01:52:45.780 [main] DEBUG o.h.cfg.AnnotationConfiguration - Process hbm files
  01:52:45.780 [main] DEBUG o.h.cfg.AnnotationConfiguration - Process annotated classes
  01:52:45.791 [main] INFO  org.hibernate.cfg.AnnotationBinder - Binding entity from annotated class: com.knownomy.scl.appcommon.domain.Language
  01:52:45.805 [main] INFO  o.h.cfg.annotations.QueryBinder - Binding Named query: language.id =&gt; from Language language where language.id = ?
  01:52:45.821 [main] DEBUG org.hibernate.cfg.Ejb3Column - Binding column: Ejb3DiscriminatorColumn{logicalColumnName'DTYPE', discriminatorTypeName='string'}
  01:52:45.824 [main] DEBUG org.hibernate.cfg.AnnotationBinder - no value specified for 'javax.persistence.sharedCache.mode'; using UNSPECIFIED
  01:52:45.843 [main] DEBUG o.h.cfg.annotations.EntityBinder - Import with entity name Language
  01:52:45.849 [main] INFO  o.h.cfg.annotations.EntityBinder - Bind entity com.knownomy.scl.appcommon.domain.Language on table language
  
  01:52:50.164 [main] DEBUG o.h.hql.ast.QueryTranslatorImpl - parse() - HQL: from com.knownomy.scl.quiz.domain.Question question where question.chapter.id=? and question.questionSource.id=? and question.mcq.questionText=?
  01:52:50.177 [main] DEBUG org.hibernate.hql.ast.AST - --- HQL AST ---
   \-[QUERY] Node: 'query'
      +-[SELECT_FROM] Node: 'SELECT_FROM'
      |  \-[FROM] Node: 'from'
      |     \-[RANGE] Node: 'RANGE'
      |        +-[DOT] Node: '.'
      |        |  +-[DOT] Node: '.'
      |        |  |  +-[DOT] Node: '.'
      |        |  |  |  +-[DOT] Node: '.'
      |        |  |  |  |  +-[DOT] Node: '.'
      |        |  |  |  |  |  +-[IDENT] Node: 'com'
      |        |  |  |  |  |  \-[IDENT] Node: 'knownomy'
      |        |  |  |  |  \-[IDENT] Node: 'scl'
      |        |  |  |  \-[IDENT] Node: 'quiz'
      |        |  |  \-[IDENT] Node: 'domain'
      |        |  \-[IDENT] Node: 'Question'
      |        \-[ALIAS] Node: 'question'
      \-[WHERE] Node: 'where'
  </code></pre>
  
  <p>Content of log4j.properties:</p>
  
  <pre><code>log4j.rootLogger=INFO, stdout, R
  
  log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  log4j.appender.stdout.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} (%F:%M:%L) - %m%n
  
  log4j.appender.R=org.apache.log4j.RollingFileAppender
  log4j.appender.R.File=${catalina.home}/logs/SmartCloudLearningMobi.log
  log4j.appender.R.MaxFileSize=10MB 
  log4j.appender.R.MaxBackupIndex=10 
  log4j.appender.R.layout=org.apache.log4j.PatternLayout
  log4j.appender.R.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} (%F:%M:%L) - %m%n
  
  log4j.logger.org.hibernate=ERROR, stdout, R
  log4j.logger.org.hibernate.type=ERROR, stdout, R
  log4j.logger.org.hibernate.SQL=ERROR, stdout, R
  log4j.logger.org.hibernate.tool.hbm2ddl=ERROR, stdout, R
  log4j.logger.org.hibernate.cache=ERROR, stdout, R
  log4j.additivity.org.hibernate.SQL=false
  log4j.logger.org.springframework=ERROR, stdout, R
  log4j.logger.org.springframework.test.context.junit4.SpringJUnit4ClassRunner=ERROR, stdout, R
  </code></pre>
  
  <p>Content of application.properties file:</p>
  
  <pre><code>#  Application Properties
  path.webinf=webapps/SmartCloudLearningMobi/WEB-INF
  # JDBC Connection information
  jdbc.driverClassName=com.mysql.jdbc.Driver
  jdbc.url=jdbc:mysql://localhost:3306/databasename?useUnicode=true&amp;characterEncoding=UTF8
  jdbc.username=root
  jdbc.password=mypassword
  ###hibernate
  hibernate.show_sql=false
  hibernate.format_sql=true
  hibernate.transaction.factory_class=org.hibernate.transaction.JDBCTransactionFactory
  hibernate.dialect=org.hibernate.dialect.MySQLDialect
  hibernate.c3p0.min_size=1
  hibernate.c3p0.max_size=25
  hibernate.c3p0.acquire_increment=5
  hibernate.c3p0.timeout=1800
  hibernate.c3p0.max_statements=50
  hibernate.c3p0.idle_test_period=3600
  </code></pre>
  
  <p>In the last change, 
  I removed the following jar file:</p>
  
  <pre><code>ejb3-persistance.jar
  </code></pre>
  
  <p>and added the following jar files:</p>
  
  <pre><code>aspectjtools-1.5.4.jar
  bval-core-0.3-incubating.jar
  hibernate-validator-4.1.0.Final.jar
  jackson-core-asl-1.6.4.jar
  jackson-mapper-asl-1.6.4.jar
  joda-time-1.6.2.jar
  joda-time-jsptags-1.0.2.jar
  jstl-1.2.jar
  validation-api-1.0.0.GA.jar
  </code></pre>
  
  <p>Could someone tell me how to prevent Hibernate's INFO and DEBUG statements from getting added to catalina.out file? Much appreciated.</p>
  
  <p><strong>Update:</strong>
  Based on what I found on the web, I updated log4j.properties file to the following:
      log4j.rootLogger=INFO, stdout, R</p>
  
  <pre><code>log4j.appender.stdout=org.apache.log4j.ConsoleAppender
  log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
  log4j.appender.stdout.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} (%F:%M:%L) - %m%n
  #log4j.appender.stdout.layout.ConversionPattern=[%5p] %t %d{yyyy-MM-dd HH:mm:ss} (%F:%M:%L) - %m%n
  
  log4j.appender.R=org.apache.log4j.RollingFileAppender
  log4j.appender.R.File=${catalina.home}/logs/SmartCloudLearningMobi.log
  log4j.appender.R.MaxFileSize=10MB 
  log4j.appender.R.MaxBackupIndex=10 
  log4j.appender.R.layout=org.apache.log4j.PatternLayout
  log4j.appender.R.layout.ConversionPattern=[%5p] %d{yyyy-MM-dd HH:mm:ss} (%F:%M:%L) - %m%n
  #log4j.appender.R.layout.ConversionPattern=[%5p] %t %d{yyyy-MM-dd HH:mm:ss} (%F:%M:%L) - %m%n
  
  log4j.logger.org.hibernate=ERROR, stdout, R
  
  ### log HQL parse trees  
  log4j.logger.org.hibernate.hql=ERROR, stdout, R
  
  ### Log HQL and SQL ASTs during query parsing ###  
  log4j.logger.org.hibernate.hql.ast.AST=ERROR, stdout, R
  log4j.additivity.org.hibernate.hql.ast.AST=false
  
  ### log just the SQL  
  log4j.logger.org.hibernate.SQL=ERROR, stdout, R
  log4j.additivity.org.hibernate.SQL=false
  
  ### log JDBC bind parameters. Very userfull, when debug parameterized queries ###  
  log4j.logger.org.hibernate.type=ERROR, stdout, R
  log4j.additivity.org.hibernate.type=false
  
  ### log schema export/update ###
  log4j.logger.org.hibernate.tool.hbm2ddl=ERROR, stdout, R
  
  ### log cache activity ###
  log4j.logger.org.hibernate.cache=ERROR, stdout, R
  
  ### log transaction activity  
  log4j.logger.org.hibernate.transaction=ERROR, stdout, R
  
  ### Log all JDBC resource acquisition  
  log4j.logger.org.hibernate.jdbc=ERROR, stdout, R
  
  ### enable the following line if you want to track down connection ###  
  ### leakages when using DriverManagerConnectionProvider ###  
  log4j.logger.org.hibernate.connection.DriverManagerConnectionProvider=ERROR, stdout, R
  
  log4j.logger.org.hibernate.cfg=ERROR, stdout, R
  
  
  log4j.logger.org.springframework=ERROR, stdout, R
  log4j.logger.org.springframework.test.context.junit4.SpringJUnit4ClassRunner=ERROR, stdout, R
  </code></pre>
  
  <p>But it made no difference! I still see the same log statements in catalina.out file! How can I solve this issue? Anyone?</p>