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错误,这里仅显示红色的错误信息,这些错误就需要我们认真的分析,查看栈的信息了。
Log.v(TAG,"一条啰嗦日志"); Log.d(TAG,"一条调试日志"); Log.i(TAG,"一条提示日志"); Log.w(TAG,"一条警告日志"); Log.e(TAG,"一条错误日志");
其中TAG
为字符串。用于标记。同一个应用TAG
基本可以成一样。并且,应用打包发布时,最好把全部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
即可。
还有对Toast
的简单封装:Android 封装Toast