package pt.ist.fenixframework.util;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* Miscellaneous utility methods
*/
public class Misc {
private static final Logger logger = LoggerFactory.getLogger(Misc.class);
/* use this class's logger if non is provided */
public static void traceClassLoaderHierarchy() {
traceClassLoaderHierarchy(logger);
}
/* Use with the provided logger, so that logging appear in the correct context. */
public static void traceClassLoaderHierarchy(Logger logger) {
ClassLoader cl = Thread.currentThread().getContextClassLoader();
logger.trace("Classloader hierarchy starting from Thread Context Class Loader:");
try {
do {
logger.trace(" -> " + cl);
} while ((cl = cl.getParent()) != null);
} catch (Exception e) {
logger.trace("Failed to list all classloaders", e);
}
}
}