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: [email protected]
For additional commands, e-mail: [email protected]