Repository: logging-log4j2 Updated Branches: refs/heads/release-2.x c53878aae -> 6b26bf134
[LOG4J2-2377] NullPointerException in org.apache.logging.log4j.util.LoaderUtil.getClassLoaders() when using Bootstrap classloader. Project: http://git-wip-us.apache.org/repos/asf/logging-log4j2/repo Commit: http://git-wip-us.apache.org/repos/asf/logging-log4j2/commit/6b26bf13 Tree: http://git-wip-us.apache.org/repos/asf/logging-log4j2/tree/6b26bf13 Diff: http://git-wip-us.apache.org/repos/asf/logging-log4j2/diff/6b26bf13 Branch: refs/heads/release-2.x Commit: 6b26bf134af8e1e8cd0357c2b0e8015b4e911cef Parents: c53878a Author: Gary Gregory <[email protected]> Authored: Wed Jul 18 16:09:08 2018 -0600 Committer: Gary Gregory <[email protected]> Committed: Wed Jul 18 16:09:08 2018 -0600 ---------------------------------------------------------------------- .../apache/logging/log4j/util/ProviderUtil.java | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/logging-log4j2/blob/6b26bf13/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 200a6f3..d19cdd9 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 @@ -100,14 +100,18 @@ public final class ProviderUtil { } } - protected static void loadProviders(final ClassLoader cl) { - final ServiceLoader<Provider> serviceLoader = ServiceLoader.load(Provider.class, cl); - for (final Provider provider : serviceLoader) { - if (validVersion(provider.getVersions()) && !PROVIDERS.contains(provider)) { - PROVIDERS.add(provider); - } - } - } + /** + * + * @param classLoader null can be used to mark the bootstrap class loader. + */ + protected static void loadProviders(final ClassLoader classLoader) { + final ServiceLoader<Provider> serviceLoader = ServiceLoader.load(Provider.class, classLoader); + for (final Provider provider : serviceLoader) { + if (validVersion(provider.getVersions()) && !PROVIDERS.contains(provider)) { + PROVIDERS.add(provider); + } + } + } /** * @deprecated Use {@link #loadProvider(java.net.URL, ClassLoader)} instead. Will be removed in 3.0.
