1
0

Optimize log factory detection (#192) (#280)

This commit is contained in:
Björn Kautler
2024-08-15 13:25:10 +02:00
committed by GitHub
parent 3ed2daf47f
commit f414bd4894

View File

@@ -938,7 +938,7 @@ public abstract class LogFactory {
if (factory == null) { if (factory == null) {
factory = newStandardFactory(baseClassLoader); factory = newStandardFactory(baseClassLoader);
} }
if (factory == null) { if ((factory == null) && (baseClassLoader != thisClassLoaderRef.get())) {
factory = newStandardFactory(thisClassLoaderRef.get()); factory = newStandardFactory(thisClassLoaderRef.get());
} }
if (factory != null) { if (factory != null) {
@@ -1217,13 +1217,12 @@ public abstract class LogFactory {
} }
private static boolean isClassAvailable(final String className, final ClassLoader classLoader) { private static boolean isClassAvailable(final String className, final ClassLoader classLoader) {
final ClassLoader loader = LogFactory.class.getClassLoader(); logDiagnostic("Checking if class '" + className + "' is available in class loader " + objectId(classLoader));
logDiagnostic("Checking if class '" + className + "' is available in class loader " + objectId(loader));
try { try {
Class.forName(className, true, classLoader); Class.forName(className, true, classLoader);
return true; return true;
} catch (final ClassNotFoundException | LinkageError e) { } catch (final ClassNotFoundException | LinkageError e) {
logDiagnostic("Failed to load class '" + className + "' from class loader " + objectId(loader) + ": " + e.getMessage()); logDiagnostic("Failed to load class '" + className + "' from class loader " + objectId(classLoader) + ": " + e.getMessage());
} }
return false; return false;
} }