From 848a5eb6c48c419f6f2f9713c69c71965d05a1ec Mon Sep 17 00:00:00 2001 From: markt Date: Mon, 7 Dec 2009 18:48:27 +0000 Subject: [PATCH] Shutdown the handlers used by webapps otherwise log messages in the buffer just get lost. git-svn-id: https://svn.apache.org/repos/asf/tomcat/trunk@888072 13f79535-47bb-0310-9956-ffa450edef68 --- java/org/apache/juli/ClassLoaderLogManager.java | 27 +++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/java/org/apache/juli/ClassLoaderLogManager.java b/java/org/apache/juli/ClassLoaderLogManager.java index 6fb2f1443..32effe8b2 100644 --- a/java/org/apache/juli/ClassLoaderLogManager.java +++ b/java/org/apache/juli/ClassLoaderLogManager.java @@ -485,6 +485,33 @@ public class ClassLoaderLogManager extends LogManager { } + /** + * Need to override reset so the loggers loaded by the web applications can + * be shutdown. + */ + @Override + public void reset() { + super.reset(); + for (ClassLoaderLogInfo classLoaderLogInfo : classLoaderLoggers.values()) { + for (Logger logger : classLoaderLogInfo.loggers.values()) { + resetLogger(logger); + } + } + } + + private void resetLogger(Logger logger) { + + Handler[] handlers = logger.getHandlers(); + for (Handler handler : handlers) { + logger.removeHandler(handler); + try { + handler.close(); + } catch (Exception e) { + // Ignore + } + } + } + // ---------------------------------------------------- LogNode Inner Class -- 2.11.0