Author: markt Date: Fri Jan 19 20:45:54 2018 New Revision: 1821708 URL: http://svn.apache.org/viewvc?rev=1821708&view=rev Log: Prevent a stack trace being written to standard out when running on Java 10 due to changes in the LogManager implementation.
Modified: tomcat/trunk/java/org/apache/juli/ClassLoaderLogManager.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/juli/ClassLoaderLogManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/juli/ClassLoaderLogManager.java?rev=1821708&r1=1821707&r2=1821708&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/juli/ClassLoaderLogManager.java (original) +++ tomcat/trunk/java/org/apache/juli/ClassLoaderLogManager.java Fri Jan 19 20:45:54 2018 @@ -53,6 +53,13 @@ public class ClassLoaderLogManager exten private static final boolean isJava9; + private static ThreadLocal<Boolean> addingLocalRootLogger = new ThreadLocal<Boolean>() { + @Override + protected Boolean initialValue() { + return Boolean.FALSE; + } + }; + public static final String DEBUG_PROPERTY = ClassLoaderLogManager.class.getName() + ".debug"; @@ -264,6 +271,13 @@ public class ClassLoaderLogManager exten */ @Override public String getProperty(String name) { + + // Use a ThreadLocal to work around + // https://bugs.openjdk.java.net/browse/JDK-8195096 + if (".handlers".equals(name) && !addingLocalRootLogger.get().booleanValue()) { + return null; + } + String prefix = this.prefix.get(); String result = null; @@ -523,8 +537,14 @@ public class ClassLoaderLogManager exten if (is != null) { readConfiguration(is, classLoader); } - addLogger(localRootLogger); - + try { + // Use a ThreadLocal to work around + // https://bugs.openjdk.java.net/browse/JDK-8195096 + addingLocalRootLogger.set(Boolean.TRUE); + addLogger(localRootLogger); + } finally { + addingLocalRootLogger.set(Boolean.FALSE); + } } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1821708&r1=1821707&r2=1821708&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Fri Jan 19 20:45:54 2018 @@ -45,6 +45,14 @@ issues do not "pop up" wrt. others). --> <section name="Tomcat 9.0.5 (markt)" rtext="in development"> + <subsection name="Catalina"> + <changelog> + <fix> + Prevent a stack trace being written to standard out when running on Java + 10 due to changes in the <code>LogManager</code> implementation. (markt) + </fix> + </changelog> + </subsection> </section> <section name="Tomcat 9.0.4 (markt)" rtext="release in progress"> <subsection name="Catalina"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org