玩 Java 的人都知道 Java 提供很多的日志框架,诸如 Log4j、SLF4J、Commons-logging 等等
更多的 Java Logging 框架请看这里。
那么怎么用日志框架才是最佳的实践呢?
下面这段代码难道真的只是一个无用的封装吗?
import org.slf4j.Marker;
// 当时完全不懂包装slf4j什么意思,还以为自己针对市面上的logger进行了封装处理,上次开会的时候这么说,我为了logger的时候像andriod能写个tag,WTF,难道你logger.info('tag:{},xxxxx',tag)这样不行么?为了六个字符创建一个logger和一个loggerFactory
public class Logger {
/** 日志处理 */
private org.slf4j.Logger logger;
public static String separator = " ";
public Logger(Class clazz) {
logger = org.slf4j.LoggerFactory.getLogger(clazz);
}
public Logger(String name) {
logger = org.slf4j.LoggerFactory.getLogger(name);
}
public String getName() {
return logger.getName();
}
public boolean isTraceEnabled() {
return logger.isTraceEnabled();
}
public void trace(String msg) {
logger.trace(msg);
}
public void trace(String format, Object arg) {
logger.trace(format, arg);
}
public void trace(String format, Object arg1, Object arg2) {
logger.trace(format, arg1, arg2);
}
public void trace(String format, Object... arguments) {
logger.trace(format, arguments);
}
在我看来,起码有一个用处就是,当我们决定要更快一个日志框架的时候,直接修改该类就可以了,而不用修改项目中成千上万的文件。
你怎么看呢?
请移步下面链接发表评论,领取奖品:
https://gitee.com/oschina/bullshit-codes/blob/master/java/Logger.java
码云 6 周年,我们正在征集各种坑爹代码,很多奖品等你来拿
详细的参与方法请看 https://gitee.com/oschina/bullshit-codes
------ 分割线 ------
其他坑爹代码吐槽: