一:使用Android自带的日志工具Log取代java中传统System.out.printlin()。


(你也可以直接看二.定制自己的日志工具)


在定义自己的日志工具前,我们首先得学会使用Android自带的日志工具Log取代java中传统System.out.printlin()。

因为System.out.printlin()打印日志没有日志级别、无法确定打印时间、不能添加过滤器并且不可控制。

而Android提供的Log刚好能解决以上问题。

Log类中的日志级别由低到高分别为:

Log.v()、 Log.d()、 Log.i()、 Log.w()、 Log.e()

用法简单,只需在需要打印的地方使用适当的级别,如:

Log.d("MainActivity","MainActivity start");

第一个参数是tag,一般传入类名,主要用于在过滤器中对打印信息就行过滤。第二个参数就是想要打印的具体内容。



二:定制自己的日志工具类

通过一我们学会了使用Android自带的Log类。但是,Log类在全局控制方面做的还是不足的。比如:现在我们在项目

中为了调试,在许多地方打印了大量日志,而这些打印信息在项目正式上线之后仍能正常显示,这样就会降低我们程序

的运行效率,还可能因为泄露机密带来安全问题。所以,为了避免尴尬的去一行行删除打印信息,我们可以通过写一个

自己的日志工具类解决这个问题:

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.w(tag, msg);        }    }    public static void e(String tag, String msg){        if (LEVEL<=ERROR){            Log.e(tag, msg);        }    }    }

然后我们在需要打印日志的地方通过调用LogUtil中的方法就可以实现打印了,比如

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

这样,我们就可以通过修改LEVEL的值来控制全局的打LEVEL等于印行为了。比如设置LEVEL等于VERBOSE就可以打印所有日志,设置LEVEL等于WARN则只答应警告级别以上的日志,那么,当项目要上线时,我们就可以通过设置LEVEL等于NOTHING来把所有日志屏蔽掉了。



参考:郭霖《第一行代码》

更多相关文章

  1. 2020-04-01
  2. 浅谈Android系统开发中LOG的使用
  3. android内核编译方法[转贴]
  4. Android(安卓)开发工具
  5. 1.4掌握日志工具的使用——Android第一行代码(第二版)笔记
  6. Mac Android(安卓)屏幕同步/共享投影工具[Vysor]
  7. Android(安卓)利用【Hierarchy Viewer 】 工具学习别人的UI设计
  8. Android中的sdk相关介绍
  9. android 工具类之--TextUtils

随机推荐

  1. Android 完美的水平方向滑动ListView
  2. 利用android_ndk以及OpenGLES开发动态壁
  3. Android(安卓)实现轮播图效果(二) 底部圆点
  4. 总体把握Android中的触摸事件处理
  5. 《Android》Lesson01-环境配置
  6. 索尼爱立信:今年推出Android智能机将升至
  7. 利用Android studio开发JNI工程
  8. 关于android 字体
  9. Android中Application、静态变量和Shared
  10. Android(安卓)Parcelable 错误 Parcel: C