玩 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
------ 分割線 ------
其他坑爹代碼吐槽:
[admin
]