Log level for java.util.logging is hard-coded to FINE


(Alex Varju) #1

Our project makes use of Tomcat’s org.apache.jasper.JspC Ant task to precompile JSPs. After upgrading to Tomcat 8, we noticed that the precompile was running significantly slower. Turning on YourKit profiling for the build showed that 99% of the time was spent within Tomcat’s XML parser, logging debug events. Tomcat uses java.util.logging, and the logger it received responded with true to logger.isDebugEnabled()

Digging through the Gradle code, it appears that this is because JavaUtilLoggingSystem sets the log level to Level.FINE regardless of the current Gradle logging level.

Most of the time this is probably harmless. I appear to have hit an unfortunate edge case where a lot of extra processing is done when debug logging is enabled.

Gradle Version: 2.9
Operating System and JVM version: OSX 10.11.6 with Java 1.8.0_102

(Jendrik Johannes) #2

I cannot see immediately why the logger.setLevel(java.util.logging.Level.FINE); is required at all.

I will check if we can remove that line. Opened: https://issues.gradle.org/browse/GRADLE-3561