Index: log4j-api/src/main/java/org/apache/logging/log4j/util/LoaderUtil.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- log4j-api/src/main/java/org/apache/logging/log4j/util/LoaderUtil.java (revision 85576a653ad0caad75b246f6b09ed5f82acf622d) +++ log4j-api/src/main/java/org/apache/logging/log4j/util/LoaderUtil.java (revision ) @@ -52,6 +52,11 @@ private static final PrivilegedAction TCCL_GETTER = new ThreadContextClassLoaderGetter(); + private static final String PROPERTY_DISABLE_SYSTEM_CLASS_LOADER = "log4j2.disable.systemClassLoader"; + + private static final boolean USE_SYSTEM_CLASS_LOADER = !Boolean.parseBoolean(PropertiesUtil.getSystemProperties() + .getProperty(PROPERTY_DISABLE_SYSTEM_CLASS_LOADER)); + static { if (SECURITY_MANAGER != null) { boolean getClassLoaderDisabled; @@ -94,7 +99,7 @@ return cl; } final ClassLoader ccl = LoaderUtil.class.getClassLoader(); - return ccl == null ? ClassLoader.getSystemClassLoader() : ccl; + return ccl == null & USE_SYSTEM_CLASS_LOADER ? ClassLoader.getSystemClassLoader() : ccl; } } @@ -192,7 +197,7 @@ final ClassLoader[] candidates = { getThreadContextClassLoader(), LoaderUtil.class.getClassLoader(), - ClassLoader.getSystemClassLoader() + USE_SYSTEM_CLASS_LOADER ? ClassLoader.getSystemClassLoader() : null }; final Collection resources = new LinkedHashSet<>(); for (final ClassLoader cl : candidates) {