Author: markt Date: Fri Jun 1 15:03:49 2018 New Revision: 1832692 URL: http://svn.apache.org/viewvc?rev=1832692&view=rev Log: Switch to non-static loggers where there is a possibility of a logger becoming associated with a web application class loader causing log messages to be lost if the web application is stopped.
Modified: tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java tomcat/trunk/java/org/apache/jasper/compiler/SmapUtil.java tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java tomcat/trunk/java/org/apache/jasper/security/SecurityClassLoad.java tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java tomcat/trunk/java/org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.java tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXmlParser.java tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java Fri Jun 1 15:03:49 2018 @@ -90,7 +90,7 @@ import org.apache.tomcat.util.res.String public abstract class AuthenticatorBase extends ValveBase implements Authenticator, RegistrationListener { - private static final Log log = LogFactory.getLog(AuthenticatorBase.class); + private final Log log = LogFactory.getLog(AuthenticatorBase.class); /** * "Expires" header always set to Date(1), so generate once only Modified: tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/BasicAuthenticator.java Fri Jun 1 15:03:49 2018 @@ -45,7 +45,7 @@ import org.apache.tomcat.util.codec.bina */ public class BasicAuthenticator extends AuthenticatorBase { - private static final Log log = LogFactory.getLog(BasicAuthenticator.class); + private final Log log = LogFactory.getLog(BasicAuthenticator.class); private Charset charset = StandardCharsets.ISO_8859_1; private String charsetString = null; Modified: tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/DigestAuthenticator.java Fri Jun 1 15:03:49 2018 @@ -45,7 +45,7 @@ import org.apache.tomcat.util.security.M */ public class DigestAuthenticator extends AuthenticatorBase { - private static final Log log = LogFactory.getLog(DigestAuthenticator.class); + private final Log log = LogFactory.getLog(DigestAuthenticator.class); // -------------------------------------------------------------- Constants Modified: tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/FormAuthenticator.java Fri Jun 1 15:03:49 2018 @@ -52,7 +52,7 @@ import org.apache.tomcat.util.http.MimeH public class FormAuthenticator extends AuthenticatorBase { - private static final Log log = LogFactory.getLog(FormAuthenticator.class); + private final Log log = LogFactory.getLog(FormAuthenticator.class); // ----------------------------------------------------- Instance Variables Modified: tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/SpnegoAuthenticator.java Fri Jun 1 15:03:49 2018 @@ -54,7 +54,7 @@ import org.ietf.jgss.Oid; */ public class SpnegoAuthenticator extends AuthenticatorBase { - private static final Log log = LogFactory.getLog(SpnegoAuthenticator.class); + private final Log log = LogFactory.getLog(SpnegoAuthenticator.class); private static final String AUTH_HEADER_VALUE_NEGOTIATE = "Negotiate"; private String loginConfigName = Constants.DEFAULT_LOGIN_MODULE_NAME; Modified: tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/AuthConfigFactoryImpl.java Fri Jun 1 15:03:49 2018 @@ -40,7 +40,7 @@ import org.apache.tomcat.util.res.String public class AuthConfigFactoryImpl extends AuthConfigFactory { - private static final Log log = LogFactory.getLog(AuthConfigFactoryImpl.class); + private final Log log = LogFactory.getLog(AuthConfigFactoryImpl.class); private static final StringManager sm = StringManager.getManager(AuthConfigFactoryImpl.class); private static final String CONFIG_PATH = "conf/jaspic-providers.xml"; Modified: tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/CallbackHandlerImpl.java Fri Jun 1 15:03:49 2018 @@ -39,7 +39,7 @@ import org.apache.tomcat.util.res.String */ public class CallbackHandlerImpl implements CallbackHandler { - private static final Log log = LogFactory.getLog(CallbackHandlerImpl.class); + private final Log log = LogFactory.getLog(CallbackHandlerImpl.class); private static final StringManager sm = StringManager.getManager(CallbackHandlerImpl.class); private static CallbackHandler instance; Modified: tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/jaspic/PersistentProviderRegistrations.java Fri Jun 1 15:03:49 2018 @@ -43,7 +43,6 @@ import org.xml.sax.SAXException; */ final class PersistentProviderRegistrations { - private static final Log log = LogFactory.getLog(PersistentProviderRegistrations.class); private static final StringManager sm = StringManager.getManager(PersistentProviderRegistrations.class); @@ -139,6 +138,7 @@ final class PersistentProviderRegistrati writer.write("</jaspic-providers>\n"); } catch (IOException e) { if (!configFileNew.delete()) { + Log log = LogFactory.getLog(PersistentProviderRegistrations.class); log.warn(sm.getString("persistentProviderRegistrations.deleteFail", configFileNew.getAbsolutePath())); } @@ -161,6 +161,7 @@ final class PersistentProviderRegistrati // Remove the old file if (configFileOld.exists() && !configFileOld.delete()) { + Log log = LogFactory.getLog(PersistentProviderRegistrations.class); log.warn(sm.getString("persistentProviderRegistrations.deleteFail", configFileOld.getAbsolutePath())); } Modified: tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/ApplicationFilterConfig.java Fri Jun 1 15:03:49 2018 @@ -61,7 +61,7 @@ public final class ApplicationFilterConf static final StringManager sm = StringManager.getManager(Constants.Package); - private static final Log log = LogFactory.getLog(ApplicationFilterConfig.class); + private final Log log = LogFactory.getLog(ApplicationFilterConfig.class); /** * Empty String collection to serve as the basis for empty enumerations. Modified: tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java (original) +++ tomcat/trunk/java/org/apache/catalina/core/StandardWrapper.java Fri Jun 1 15:03:49 2018 @@ -74,7 +74,7 @@ import org.apache.tomcat.util.modeler.Ut public class StandardWrapper extends ContainerBase implements ServletConfig, Wrapper, NotificationEmitter { - private static final Log log = LogFactory.getLog(StandardWrapper.class); + private final Log log = LogFactory.getLog(StandardWrapper.class); protected static final String[] DEFAULT_SERVLET_METHODS = new String[] { "GET", "HEAD", "POST" }; Modified: tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java (original) +++ tomcat/trunk/java/org/apache/catalina/filters/CorsFilter.java Fri Jun 1 15:03:49 2018 @@ -79,7 +79,7 @@ import org.apache.tomcat.util.res.String public class CorsFilter extends GenericFilter { private static final long serialVersionUID = 1L; - private static final Log log = LogFactory.getLog(CorsFilter.class); + private final Log log = LogFactory.getLog(CorsFilter.class); private static final StringManager sm = StringManager.getManager(CorsFilter.class); Modified: tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/PersistentManagerBase.java Fri Jun 1 15:03:49 2018 @@ -49,7 +49,7 @@ import org.apache.juli.logging.LogFactor public abstract class PersistentManagerBase extends ManagerBase implements StoreManager { - private static final Log log = LogFactory.getLog(PersistentManagerBase.class); + private final Log log = LogFactory.getLog(PersistentManagerBase.class); // ---------------------------------------------------- Security Classes Modified: tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/util/SessionIdGeneratorBase.java Fri Jun 1 15:03:49 2018 @@ -32,7 +32,7 @@ import org.apache.tomcat.util.res.String public abstract class SessionIdGeneratorBase extends LifecycleBase implements SessionIdGenerator { - private static final Log log = LogFactory.getLog(SessionIdGeneratorBase.class); + private final Log log = LogFactory.getLog(SessionIdGeneratorBase.class); private static final StringManager sm = Modified: tomcat/trunk/java/org/apache/jasper/compiler/SmapUtil.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/SmapUtil.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/compiler/SmapUtil.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/SmapUtil.java Fri Jun 1 15:03:49 2018 @@ -55,8 +55,6 @@ public class SmapUtil { private static final Charset SMAP_ENCODING = StandardCharsets.UTF_8; - private static final Log log = LogFactory.getLog(SmapUtil.class); - //********************************************************************* // Public entry points @@ -801,12 +799,14 @@ public class SmapUtil { smap = new String(baos.toByteArray(), encoding); } } catch (IOException ioe) { + Log log = LogFactory.getLog(SmapUtil.class); log.warn(Localizer.getMessage("jsp.warning.loadSmap", className), ioe); } finally { if (is != null) { try { is.close(); } catch (IOException ioe) { + Log log = LogFactory.getLog(SmapUtil.class); log.warn(Localizer.getMessage("jsp.warning.loadSmap", className), ioe); } } Modified: tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java (original) +++ tomcat/trunk/java/org/apache/jasper/runtime/JspRuntimeLibrary.java Fri Jun 1 15:03:49 2018 @@ -56,8 +56,6 @@ import org.apache.tomcat.InstanceManager */ public class JspRuntimeLibrary { - private static final Log log = LogFactory.getLog(JspRuntimeLibrary.class); - /** * Returns the value of the javax.servlet.error.exception request * attribute value, if present, otherwise the value of the @@ -993,6 +991,7 @@ public class JspRuntimeLibrary { tag.release(); } catch (Throwable t) { ExceptionUtils.handleThrowable(t); + Log log = LogFactory.getLog(JspRuntimeLibrary.class); log.warn("Error processing release on tag instance of " + tag.getClass().getName(), t); } @@ -1001,6 +1000,7 @@ public class JspRuntimeLibrary { } catch (Exception e) { Throwable t = ExceptionUtils.unwrapInvocationTargetException(e); ExceptionUtils.handleThrowable(t); + Log log = LogFactory.getLog(JspRuntimeLibrary.class); log.warn("Error processing preDestroy on tag instance of " + tag.getClass().getName(), t); } Modified: tomcat/trunk/java/org/apache/jasper/security/SecurityClassLoad.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/security/SecurityClassLoad.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/security/SecurityClassLoad.java (original) +++ tomcat/trunk/java/org/apache/jasper/security/SecurityClassLoad.java Fri Jun 1 15:03:49 2018 @@ -26,8 +26,6 @@ import org.apache.juli.logging.LogFactor */ public final class SecurityClassLoad { - private static final Log log = LogFactory.getLog(SecurityClassLoad.class); - public static void securityClassLoad(ClassLoader loader){ if( System.getSecurityManager() == null ){ @@ -54,6 +52,7 @@ public final class SecurityClassLoad { loader.loadClass( basePackage + "servlet.JspServletWrapper"); } catch (ClassNotFoundException ex) { + Log log = LogFactory.getLog(SecurityClassLoad.class); log.error("SecurityClassLoad", ex); } } Modified: tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java (original) +++ tomcat/trunk/java/org/apache/jasper/servlet/JasperInitializer.java Fri Jun 1 15:03:49 2018 @@ -41,7 +41,7 @@ import org.xml.sax.SAXException; public class JasperInitializer implements ServletContainerInitializer { private static final String MSG = "org.apache.jasper.servlet.JasperInitializer"; - private static final Log log = LogFactory.getLog(JasperInitializer.class); + private final Log log = LogFactory.getLog(JasperInitializer.class); /** * Preload classes required at runtime by a JSP servlet so that Modified: tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java (original) +++ tomcat/trunk/java/org/apache/jasper/servlet/TldScanner.java Fri Jun 1 15:03:49 2018 @@ -53,7 +53,7 @@ import org.xml.sax.SAXException; * Scans for and loads Tag Library Descriptors contained in a web application. */ public class TldScanner { - private static final Log log = LogFactory.getLog(TldScanner.class); + private final Log log = LogFactory.getLog(TldScanner.class); private static final String MSG = "org.apache.jasper.servlet.TldScanner"; private static final String TLD_EXT = ".tld"; private static final String WEB_INF = "/WEB-INF/"; Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/DigesterFactory.java Fri Jun 1 15:03:49 2018 @@ -36,7 +36,6 @@ import org.xml.sax.ext.EntityResolver2; */ public class DigesterFactory { - private static final Log log = LogFactory.getLog(DigesterFactory.class); private static final StringManager sm = StringManager.getManager(Constants.PACKAGE_NAME); @@ -150,6 +149,7 @@ public class DigesterFactory { location = CLASS_JSP_CONTEXT.getResource("resources/" + name); } if (location == null) { + Log log = LogFactory.getLog(DigesterFactory.class); log.warn(sm.getString("digesterFactory.missingSchema", name)); return null; } Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/tagplugin/TagPluginParser.java Fri Jun 1 15:03:49 2018 @@ -37,7 +37,7 @@ import org.xml.sax.SAXException; * Parser for Tag Plugin descriptors. */ public class TagPluginParser { - private static final Log log = LogFactory.getLog(TagPluginParser.class); + private final Log log = LogFactory.getLog(TagPluginParser.class); private static final String PREFIX = "tag-plugins/tag-plugin"; private final Digester digester; private final Map<String, String> plugins = new HashMap<>(); Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/tld/TldParser.java Fri Jun 1 15:03:49 2018 @@ -36,7 +36,7 @@ import org.xml.sax.SAXException; * Parses a Tag Library Descriptor. */ public class TldParser { - private static final Log log = LogFactory.getLog(TldParser.class); + private final Log log = LogFactory.getLog(TldParser.class); private final Digester digester; public TldParser(boolean namespaceAware, boolean validation, Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXml.java Fri Jun 1 15:03:49 2018 @@ -64,7 +64,7 @@ public class WebXml extends XmlEncodingB private static final StringManager sm = StringManager.getManager(Constants.PACKAGE_NAME); - private static final Log log = LogFactory.getLog(WebXml.class); + private final Log log = LogFactory.getLog(WebXml.class); /** * Global defaults are overridable but Servlets and Servlet mappings need to @@ -1945,7 +1945,7 @@ public class WebXml extends XmlEncodingB return true; } - private static <T extends ResourceBase> boolean mergeResourceMap( + private <T extends ResourceBase> boolean mergeResourceMap( Map<String, T> fragmentResources, Map<String, T> mainResources, Map<String, T> tempResources, WebXml fragment) { for (T resource : fragmentResources.values()) { @@ -1973,7 +1973,7 @@ public class WebXml extends XmlEncodingB return true; } - private static <T> boolean mergeMap(Map<String,T> fragmentMap, + private <T> boolean mergeMap(Map<String,T> fragmentMap, Map<String,T> mainMap, Map<String,T> tempMap, WebXml fragment, String mapName) { for (Entry<String, T> entry : fragmentMap.entrySet()) { @@ -2166,7 +2166,7 @@ public class WebXml extends XmlEncodingB } - private static boolean mergeLifecycleCallback( + private boolean mergeLifecycleCallback( Map<String, String> fragmentMap, Map<String, String> tempMap, WebXml fragment, String mapName) { for (Entry<String, String> entry : fragmentMap.entrySet()) { @@ -2199,17 +2199,22 @@ public class WebXml extends XmlEncodingB */ public static Set<WebXml> orderWebFragments(WebXml application, Map<String,WebXml> fragments, ServletContext servletContext) { + return application.orderWebFragments(fragments, servletContext); + } + + + private Set<WebXml> orderWebFragments(Map<String,WebXml> fragments, + ServletContext servletContext) { Set<WebXml> orderedFragments = new LinkedHashSet<>(); - boolean absoluteOrdering = - (application.getAbsoluteOrdering() != null); + boolean absoluteOrdering = getAbsoluteOrdering() != null; boolean orderingPresent = false; if (absoluteOrdering) { orderingPresent = true; // Only those fragments listed should be processed - Set<String> requestedOrder = application.getAbsoluteOrdering(); + Set<String> requestedOrder = getAbsoluteOrdering(); for (String requestedName : requestedOrder) { if (WebXml.ORDER_OTHERS.equals(requestedName)) { Modified: tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXmlParser.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXmlParser.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXmlParser.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/descriptor/web/WebXmlParser.java Fri Jun 1 15:03:49 2018 @@ -31,7 +31,7 @@ import org.xml.sax.SAXParseException; public class WebXmlParser { - private static final Log log = LogFactory.getLog(WebXmlParser.class); + private final Log log = LogFactory.getLog(WebXmlParser.class); /** * The string resources for this package. Modified: tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java (original) +++ tomcat/trunk/java/org/apache/tomcat/util/scan/StandardJarScanner.java Fri Jun 1 15:03:49 2018 @@ -61,7 +61,7 @@ import org.apache.tomcat.util.res.String */ public class StandardJarScanner implements JarScanner { - private static final Log log = LogFactory.getLog(StandardJarScanner.class); + private final Log log = LogFactory.getLog(StandardJarScanner.class); /** * The string resources for this package. @@ -411,7 +411,7 @@ public class StandardJarScanner implemen } - private static void processManifest(Jar jar, boolean isWebapp, + private void processManifest(Jar jar, boolean isWebapp, Deque<URL> classPathUrlsToProcess) throws IOException { // Not processed for web application JARs nor if the caller did not Modified: tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/AsyncChannelWrapperSecure.java Fri Jun 1 15:03:49 2018 @@ -48,7 +48,7 @@ import org.apache.tomcat.util.res.String */ public class AsyncChannelWrapperSecure implements AsyncChannelWrapper { - private static final Log log = + private final Log log = LogFactory.getLog(AsyncChannelWrapperSecure.class); private static final StringManager sm = StringManager.getManager(AsyncChannelWrapperSecure.class); Modified: tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/BackgroundProcessManager.java Fri Jun 1 15:03:49 2018 @@ -31,7 +31,7 @@ import org.apache.tomcat.util.res.String */ public class BackgroundProcessManager { - private static final Log log = + private final Log log = LogFactory.getLog(BackgroundProcessManager.class); private static final StringManager sm = StringManager.getManager(BackgroundProcessManager.class); Modified: tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/pojo/PojoEndpointBase.java Fri Jun 1 15:03:49 2018 @@ -39,7 +39,7 @@ import org.apache.tomcat.util.res.String */ public abstract class PojoEndpointBase extends Endpoint { - private static final Log log = LogFactory.getLog(PojoEndpointBase.class); + private final Log log = LogFactory.getLog(PojoEndpointBase.class); private static final StringManager sm = StringManager.getManager(PojoEndpointBase.class); private Object pojo; Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsFrameServer.java Fri Jun 1 15:03:49 2018 @@ -33,7 +33,7 @@ import org.apache.tomcat.websocket.WsSes public class WsFrameServer extends WsFrameBase { - private static final Log log = LogFactory.getLog(WsFrameServer.class); + private final Log log = LogFactory.getLog(WsFrameServer.class); private static final StringManager sm = StringManager.getManager(WsFrameServer.class); private final SocketWrapperBase<?> socketWrapper; Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsHttpUpgradeHandler.java Fri Jun 1 15:03:49 2018 @@ -46,7 +46,7 @@ import org.apache.tomcat.websocket.WsSes */ public class WsHttpUpgradeHandler implements InternalHttpUpgradeHandler { - private static final Log log = LogFactory.getLog(WsHttpUpgradeHandler.class); + private final Log log = LogFactory.getLog(WsHttpUpgradeHandler.class); private static final StringManager sm = StringManager.getManager(WsHttpUpgradeHandler.class); private final ClassLoader applicationClassLoader; Modified: tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java (original) +++ tomcat/trunk/java/org/apache/tomcat/websocket/server/WsRemoteEndpointImplServer.java Fri Jun 1 15:03:49 2018 @@ -44,7 +44,7 @@ public class WsRemoteEndpointImplServer private static final StringManager sm = StringManager.getManager(WsRemoteEndpointImplServer.class); - private static final Log log = LogFactory.getLog(WsRemoteEndpointImplServer.class); + private final Log log = LogFactory.getLog(WsRemoteEndpointImplServer.class); private final SocketWrapperBase<?> socketWrapper; private final WsWriteTimeout wsWriteTimeout; Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1832692&r1=1832691&r2=1832692&view=diff ============================================================================== --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Fri Jun 1 15:03:49 2018 @@ -127,6 +127,11 @@ Correct the manifest for the annotations-api.jar. The JAR implements the Common Annotations API 1.3 and the manifest should reflect that. (markt) </fix> + <fix> + Switch to non-static loggers where there is a possibility of a logger + becoming associated with a web application class loader causing log + messages to be lost if the web application is stopped. (markt) + </fix> </changelog> </subsection> <subsection name="Coyote"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org