定义
为其他对象提供一个代理以控制对这个对象的访问
演化
1.我们平时写代码的时候,免不了打印一些日志出来,方便调试。
Log.d("TAG", "Somethings")
不过,这种打印日志的方式,一般只在测试期间使用。当发布正式版本时候,需要关闭日志功能。因此,我们一般会这么写:
if (Constants.debug) {
Log.d("TAG", "Somethings")
}
然后通过修改 Constans.debug的值来控制日志的打印。
2.假设程序中存在着成千上万处日志输出,那么按照1中的写法,就会存在着一些问题:
- 每次新增日志输出,都需要额外增加对debug的判断。
- 当有一天不再使用Log打印日志,而是换成Logger时,代码的修改量非常大。
为了解决这两个问题,我们新建一个工具类来管理一下Log。
public class LogUtil {
public static boolean debug = true;
public static