android.util.Log类
android.util.Log
常用的方法有以下5个:Log.v()
, Log.d()
,Log.i()
,Log.w()
以及 Log.e()
。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。
-
Log.v
的输出颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思。 -
Log.d
的输出颜色为蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择。 -
Log.i
的输出颜色为绿色,一般提示性的消息information,它不会输出Log.v
和Log.d
的信息,但会显示i
、w
和e
的信息。 -
Log.w
的输出颜色为橙色,可以看作为warning警告,一般需要我们注意优化Android代码,同时选择它后还会输出Log.e
的信息。 -
Log.e
的输出颜色为红色,可以想到error错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。
1. 常规用法
Log.v(TAG,"一条啰嗦日志");
Log.d(TAG,"一条调试日志");
Log.i(TAG,"一条提示日志");
Log.w(TAG,"一条警告日志");
Log.e(TAG,"一条错误日志");
其中TAG
为字符串。用于标记。同一个应用TAG
基本可以成一样。并且,应用打包发布时,最好把全部Log
注释掉,否则将产生不必要的资源消耗(虽然很小)。
2. 封装Log
public class L {
private static String TAG = "WZM";
// 开关
private static boolean debug = true;
private L() {
}
public static void setTAG(String TAG) {
L.TAG = TAG;
}
public static void setDebug(boolean debug) {
L.debug = debug;
}
public static void v(String msg) {
if (debug)
Log.v(TAG, msg);
}
public static void d(String msg) {
if (debug)
Log.d(TAG, msg);
}
public static void i(String msg) {
if (debug)
Log.i(TAG, msg);
}
public static void w(String msg) {
if (debug)
Log.w(TAG, msg);
}
public static void e(String msg) {
if (debug)
Log.e(TAG, msg);
}
}
使用时:
L.v("一条啰嗦日志");
L.d("一条调试日志");
L.i("一条提示日志");
L.w("一条警告日志");
L.e("一条错误日志");
并且,可在Application
中设置开关(是否输出日志)或TAG
(默认WZM
)
public class MyApplication extends Application {
@Override
public void onCreate() {
super.onCreate();
L.setTAG("TAG");
L.setDebug(false);
}
}
打包发布时,debug
设为false
即可。
配一张图