玩 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
------ 分割线 ------
其他坑爹代码吐槽: