package org.googlecode.perftrace.perf4j; import java.util.HashMap; import java.util.Map; import org.googlecode.perftrace.util.StringUtils; /** * @author zhongfeng * */ public enum Perf4JLogType { /** * JAVA JDK 提供的log */ JDKLOG, /** * */ SLF4J, /** * */ LOG4J; private final static Map<Perf4JLogType, String> LOGTYPE_LOGWATCH_MAP = new HashMap<Perf4JLogType, String>(); static { LOGTYPE_LOGWATCH_MAP.put(SLF4J, "org.googlecode.perftrace.perf4j.Slf4JStopWatch"); LOGTYPE_LOGWATCH_MAP.put(LOG4J, "org.googlecode.perftrace.perf4j.Log4JStopWatch"); LOGTYPE_LOGWATCH_MAP.put(JDKLOG, "org.googlecode.perftrace.perf4j.JavaLogStopWatch"); } public static Perf4JLogType getPerf4JLogType(String type) { if (StringUtils.equalsIgnoreCase("SLF4J", type)) return SLF4J; if (StringUtils.equalsIgnoreCase("LOG4J", type)) return LOG4J; return JDKLOG; } public static Perf4JLogType getDefaultPerf4JLogType() { return JDKLOG; } public static String getLogStopWatchClass(Perf4JLogType perf4jLogType) { return LOGTYPE_LOGWATCH_MAP.get(perf4jLogType); } }