android学习——定制自己的日志工具

来源:互联网 发布:妇科检查 知乎 编辑:程序博客网 时间:2024/05/29 09:32

Android中自带的日志工具功能非常强大,但也不能说完全没有缺点,例如在打印日志的控制方面就做的不够好。

所以我们在编写一个比较庞大的项目,期间为了方便调试,能够自由地控制日志的打印,而且不费力气呢?第一行代码里面是这样写的一个LogUtil类,代码如下:

public class LogUtil{        public static final int VERBOSE = 1;              public static final int DEBUG = 2;        public static final int INFO = 3;        public static final int WARN = 4;         public static final int ERROR = 5;          public static final int NOTHING = 6;        public static final int LEVEL= VERBOSE;        public static void v(String tag, String msg){if (LEVEL <= VERBOSE){Log.v(tag,msg); }       }  public static void d(String tag, String msg){if (LEVEL <= DEBUG){Log.d(tag,msg); }      }  public static void i(String tag, String msg){if (LEVEL <= INFO){Log.i(tag,msg); }     }  public static void w(String tag, String msg){if (LEVEL <= WARN){Log.v(tag,msg); }     }  public static void e(String tag, String msg){if (LEVEL <= ERROR){Log.e(tag,msg); }     }}

这样就把一个自定义的日志工具创建好了,之后在项目里我们可以像使用普通的日志工具一样使用LogUtil,比如打印一行DEBUG级别的日志就可以这样写:

LogUtil.d("TAG", "warn log");

打印一行WARN级别的日志就可以这样写:

Log.w("TAG", "warn log");

然后我们只需要修改LEVEL常量的值,就可以自由地控制日志的打印行为了。比如让LEVEL等于VERBOSE就可以把所有的日志打印出来,

让LEVEL等于WARN就可以只打印警告以上级别的日志,让LEVEL等于NOTHING就可以把所有的日志都屏蔽掉。

使用了这种方法之后,你只需在开发阶段将LEVEL指定成VERBOSE,当项目正式上线的时候将LEVEL指定成NOTHING就可以了。


0 0
原创粉丝点击