public class LogUtil {
private static Log LOG;
public static void trace(Object o) {
LOG = LogFactory.getLog(Reflection.getCallerClass(2));
LOG.trace(o);
}
public static void trace(String msg, Throwable error) {
LOG = LogFactory.getLog(Reflection.getCallerClass(2));
LOG.trace(msg, error);
}public static void debug(Object o) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.debug(o); } public static void debug(String msg, Throwable error) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.debug(msg, error); } public static void info(Object o) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.info(o); } public static void info(String msg, Throwable error) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.info(msg, error); } public static void warn(Object o) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.warn(o); } public static void warn(String msg, Throwable error) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.warn(msg, error); } public static void error(Object o) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.error(o); } public static void error(String msg, Throwable error) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.error(msg, error); } public static void fatal(Object o) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.fatal(o); } public static void fatal(String msg, Throwable error) { LOG = LogFactory.getLog(Reflection.getCallerClass(2)); LOG.fatal(msg, error); } }
在具体的类中直接:
LogUtil.debug("");等等就OK了!
要是不想使用Log4j,Logger,直接修改LogUtil.java就可以了
但是我看别人一般是:
private static Logger log = Logger.getLogger(xxxx.class.getName());
log.debug();
这样写觉得比较麻烦!为什么每个类都要"private static Logger log = Logger.getLogger(xxxx.class.getName());"
??
要是不想使用Log4j,Logger,得修改每个类,去掉"private static Logger log = Logger.getLogger(xxxx.class.getName());" 太麻烦了!
我的那种使用方法有什么缺陷吗?