一:使用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");
二:定制自己的日志工具类
通过一我们学会了使用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.d("TAG", "debug log");
参考:郭霖《第一行代码》