I see several thousand lines of this when I start Tomcat on Windows 2000 Pro. Is there a way to turn this off?
Created May 7, 2012
Terry Laurenzo
The digester class that tomcat uses to process its config files output an unholy amount of debug information through log4j. I am guessing that you enabled log4j debugging for your webapps and are now seeing the internal logs for Tomcat. You have two options:45866 [main] DEBUG org.apache.commons.di gester.Digester.sax - startElement(,,extension) 45866 [main] DEBUG org.apache.commons.digester.Digester - Pushing body text ' 45866 [main] DEBUG org.apache.commons.digester.Digester - New match='web-app/mime-mapping/extension' 45866 [main] DEBUG org.apache.commons.digester.Digester - Fire begin() for CallParamRule[paramIndex=0, attributeName=null] 45866 [main] DEBUG org.apache.commons.digester.Digester.sax - characters(dtd) 45876 [main] DEBUG org.apache.commons.digester.Digester.sax - endElement(,,extension) 45876 [main] DEBUG org.apache.commons.digester.Digester - match='web-app/mime-mapping/extension' 45876 [main] DEBUG org.apache.commons.digester.Digester - bodyText='dtd' 45876 [main] DEBUG org.apache.commons.digester.Digester - Fire body() for CallParamRule[paramIndex=0, attributeName=null] 45876 [main] DEBUG org.apache.commons.digester.Digester - Popping body text ' 45876 [main] DEBUG org.apache.commons.digester.Digester - Fire end() for CallParamRule[paramIndex=0, attributeName=null] 45876 [main] DEBUG org.apache.commons.digester.Digester.sax - ignorableWhitespace(
- First, you can move log4j into your webapp. Since this will be loaded as part of its own classloader, it should not get the Tomcat internal stuff. If you want a global log4j config for all webapps, you can probably put the jar in shared/lib.
- Second, you can disable debug logging for specific categories(or globally) that are causing you grief. To disable debug logging globablly, in your log4j config file (specified with -Dlof4j.configuration=file:log4j.properties or the log4j.properties file on the classpath), add the line
log4j.threshold=info
To disable it for a specific category:
log4j.logger.org.apache.commons.digester.Digester=info
If you are using an old version of log4j, the property names change a bit. I think that log4j.logger is changed to log4j.category and log4j.threshold is changed to log4j.priority, but I can't quite remember.