package org.opensource.clearpool.logging; import org.opensource.clearpool.logging.impl.NullLogger; /** * This log factory depend on commons-logging.jar.We use {@link NullLogger} to replace the log if we * set the log unable or we don't have commons-logging.jar. * * @author xionghui * @date 26.07.2014 * @version 1.0 */ public class PoolLoggerFactory { public static final String LOG_UNABLE = "org.clearpool.log.unable"; private static final String CLAZZ = "org.slf4j.LoggerFactory"; private static boolean logUnable = false; static { logUnable = Boolean.getBoolean(LOG_UNABLE); if (!logUnable) { try { // try to load factory Class.forName(CLAZZ); } catch (ClassNotFoundException e) { logUnable = true; } } } /** * get log by LogFactoryAdapter * * @param name * @return PoolLogger */ public static PoolLogger getLogger(String name) { if (logUnable) { return new NullLogger(); } return LoggerFactoryAdapter.getLogger(name); } /** * get log by LogFactoryAdapter * * @param name * @return PoolLogger */ public static PoolLogger getLogger(Class<?> clazz) { if (logUnable) { return new NullLogger(); } return LoggerFactoryAdapter.getLogger(clazz); } }