【Android】日志工具Log类

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.vLog.d的信息,但会显示iwe的信息。

  • 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即可。


img_d1e94f7c9422d51d470a24ba6be5215d.png
配一张图

其他

还有对Toast的简单封装:Android 封装Toast