Fix LOG4J2-862 for real this time.
Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/d80c6a20 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/d80c6a20 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/d80c6a20 Branch: refs/heads/master Commit: d80c6a20824bd13090bf80d415c02b39c53e8f21 Parents: ba39c4e Author: Matt Sicker <[email protected]> Authored: Mon Sep 29 21:31:18 2014 -0500 Committer: Matt Sicker <[email protected]> Committed: Mon Sep 29 21:31:18 2014 -0500 ---------------------------------------------------------------------- .../apache/logging/log4j/util/ProviderUtil.java | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/d80c6a20/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java ---------------------------------------------------------------------- diff --git a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java index 4ad71c9..bc3f774 100644 --- a/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java +++ b/log4j-api/src/main/java/org/apache/logging/log4j/util/ProviderUtil.java @@ -19,7 +19,6 @@ package org.apache.logging.log4j.util; import java.io.IOException; import java.net.URL; import java.util.Collection; -import java.util.Enumeration; import java.util.HashSet; import java.util.Properties; import java.util.concurrent.locks.Lock; @@ -53,22 +52,8 @@ public final class ProviderUtil { private static volatile ProviderUtil INSTANCE; private ProviderUtil() { - final ClassLoader cl = findClassLoader(); - Enumeration<URL> enumResources = null; - try { - enumResources = cl.getResources(PROVIDER_RESOURCE); - } catch (final IOException e) { - LOGGER.fatal("Unable to locate {}", PROVIDER_RESOURCE, e); - } - loadProviders(enumResources, cl); - } - - protected static void loadProviders(final Enumeration<URL> enumResources, final ClassLoader cl) { - if (enumResources != null) { - while (enumResources.hasMoreElements()) { - final URL url = enumResources.nextElement(); - loadProvider(url, cl); - } + for (LoaderUtil.UrlResource resource : LoaderUtil.findUrlResources(PROVIDER_RESOURCE)) { + loadProvider(resource.getUrl(), resource.getClassLoader()); } }
