Android的日志工具Log及制定日志工具
Log介绍
Android
中的日志工具类是Log
(android.util.Log),这个类中提供了如下5个方法来供我们打印日志。
- Log.v()。用于打印那些最为琐碎的、意义最小的日志信息。对应级别
verbose
,是Android
日志里面级别最低的一种。 - Log.d()。用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别
debug
,比verbose
高一级。 - Log.i()。用于打印一些比较重要的数据,这些数据应该是你非常想看到的、可以帮你分析用户行为数据。对应级别
info
,比debug
高一级。 - Log.w()。用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别
warn
,比info
高一级。 - Log.e()。用于打印程序中的错误信息,比如程序进入到了
catch
语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别error
,比warn
高一级。
定制自己的日志工具
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 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);
}
}
}
在其内部分别调用了Log.v()
、Log.d()
、Log.i()
、Log.w()
、Log.e()
这5个方法来打印日志,只不过在这些自定义的方法中我们都加入了一个if判断,只有当level
的值小于或等于对应日志级别值的时候,才会将日志打印出来。这样就把一个自定义的日志工具创建好了,之后在项目里我们可以像使用普通的日志工具一样使用LogUtil
,比如打印一行DEBUG
级别的日志就可以这样写:
LogUtil.d("TAG", "debug log");
只需要修改level
变量的值,就可以自由地控制日志的打印行为了。比如让level
等于VERBOSE就可以把所有的日志都打印出来,让level
等于WARN
就可以只打印警告以上级别的日志,让level
等于NOTHING
就可以把所有日志都屏蔽掉。使用了这种方法之后,刚才所说的那个问题就不复存在了,你只需要在开发阶段将level指定成VERBOSE
,当项目正式上线的时候将level
指定成NOTHING
就可以了。
您的关注和点赞是我分享的动力,如有帮助请勿吝啬!ヽ( ̄▽ ̄)ノ