private static void logHierarchy()

in src/main/java/org/apache/commons/logging/LogFactory.java [1277:1312]


    private static void logHierarchy(final String prefix, ClassLoader classLoader) {
        if (!isDiagnosticsEnabled()) {
            return;
        }
        ClassLoader systemClassLoader;
        if (classLoader != null) {
            logDiagnostic(prefix + objectId(classLoader) + " == '" + classLoader.toString() + "'");
        }
        try {
            systemClassLoader = ClassLoader.getSystemClassLoader();
        } catch (final SecurityException ex) {
            logDiagnostic(prefix + "Security forbids determining the system class loader.");
            return;
        }
        if (classLoader != null) {
            final StringBuilder buf = new StringBuilder(prefix + "ClassLoader tree:");
            for(;;) {
                buf.append(objectId(classLoader));
                if (classLoader == systemClassLoader) {
                    buf.append(" (SYSTEM) ");
                }
                try {
                    classLoader = classLoader.getParent();
                } catch (final SecurityException ex) {
                    buf.append(" --> SECRET");
                    break;
                }
                buf.append(" --> ");
                if (classLoader == null) {
                    buf.append("BOOT");
                    break;
                }
            }
            logDiagnostic(buf.toString());
        }
    }