From: markt Date: Mon, 7 Dec 2009 18:48:27 +0000 (+0000) Subject: Shutdown the handlers used by webapps otherwise log messages in the buffer just get... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=848a5eb6c48c419f6f2f9713c69c71965d05a1ec;p=tomcat7.0 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 --- 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