开发中我们使用Android中自带的日志工具虽然非常强大,但是也不说完全没有缺点,
例如在打印方面控制的就做的不够好如下:
1:编写大型项目的时候,期间为了方便调试,很多地方打印了大量的日志文件,项目完成后想要
取消打印因为如果不取消不仅会降低我们的程序运行的效率,而且可能会把机密性的数据泄露出去
2:打印的代码不好查找,删除非常麻烦,特别是大型项目,动辄几十万行代码。
3:想要实现开发阶段打印,项目上线后去掉打印
解决这个问题很简单,只需要我们定义一个LogUtil类(直接上代码如下):
/**
* Created by acer-pc on 2018/7/21.
*/
public class LogUtils {
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.w(tag, msg);
}
}
public static void e(String tag, String msg) {
if (level <= ERROR) {
Log.v(tag, msg);
}
}
}
这样我们就把工具类创建好了,之后再项目中我们可以像使用普通的日志工具一样使用LogUtil
比如打印一行DEBUG级别的日志就可以这样写:
LogUtil.d("TAG", "debug log");
就可以了,等我们的项目上线了,或者不需要打印大量的日志了,我们只需要修改level的值,比如
把level等于VERBOSE就可以把所有的日志都打印出来,让level等于WARN就可以只打印警告以上级别的日志,
使用这种方法后,上面的问题基本上都解决了,我们只需要在开发阶段将level指定成VERBOSE,当
项目上线后将level指定成NOTHING就可以了。