From c501dd24beffb2ec0a42a5e6894bfa93f3782f15 Mon Sep 17 00:00:00 2001 From: kkolinko Date: Thu, 4 Mar 2010 08:05:36 +0000 Subject: [PATCH] Fix 1. of https://issues.apache.org/bugzilla/show_bug.cgi?id=48831#c3 Ignore the reset() call from java.util.logging.LogManager.Cleaner, because we have our own shutdown hook that will take care. There are three hooks that run at VM shutdown: 1. j.u.l.LogManager.Cleaner 2. o.a.j.ClassLoaderLogManager.Cleaner 3. o.a.c.startup.Catalina.CatalinaShutdownHook 2. vs. 3. was taken care by r910974 and r918594. This takes care of 1. vs. (2.,3.) git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@918885 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/juli/ClassLoaderLogManager.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/java/org/apache/juli/ClassLoaderLogManager.java b/java/org/apache/juli/ClassLoaderLogManager.java index 576fb385f..1fdce3beb 100644 --- a/java/org/apache/juli/ClassLoaderLogManager.java +++ b/java/org/apache/juli/ClassLoaderLogManager.java @@ -302,8 +302,14 @@ public class ClassLoaderLogManager extends LogManager { @Override public void reset() throws SecurityException { - ClassLoader classLoader = Thread.currentThread() - .getContextClassLoader(); + Thread thread = Thread.currentThread(); + if (thread.getClass().getName().startsWith( + "java.util.logging.LogManager$")) { + // Ignore the call from java.util.logging.LogManager.Cleaner, + // because we have our own shutdown hook + return; + } + ClassLoader classLoader = thread.getContextClassLoader(); ClassLoaderLogInfo clLogInfo = getClassLoaderInfo(classLoader); resetLoggers(clLogInfo); super.reset(); -- 2.11.0