-
之所以有这么多有区分的方法,这也是 Log的分类。Log 的分类就如同 Log 的静态常量成员定义的那样,而 Log 的优先级按照数字大小排列,数字大的优先级高。
-
用 Log.println() 能达到与 Log.v()、Log.d()、… 等方法同样的输出效果,只是在用它时,要指定对应的优先级。
-
日志输出代码
// 一般填写当前文件名 public static final String TAG="MainActivity"; // System.out:正常输出 System.out.println("onCreate:System.out"); // Log.println:即 Verbose,输出普通信息 Log.println(1, TAG, "onCreate: log.println"); // logv:即 Verbose,输出普通信息 Log.v(TAG, "onCreate: logv"); // logd:即 Debug,输出调试信息 Log.d(TAG, "onCreate: logd"); // loge:即 Error,输出错误信息 Log.e(TAG, "onCreate: loge"); // logi:即 Information,输出提示信息 Log.i(TAG, "onCreate: logi"); // logm:即 Debug,输出调试信息 Log.d(TAG, "onCreate:logm"); // logr:即 Debug,输出调试信息 Log.d(TAG, "onCreate: logr"); // logw:即 Warning,输出警告信息 Log.w(TAG, "onCreate: logw"); // logwtf:即 What a terrible failure,输出非常致命的 FAULT 信息,可能杀死当前的进程 Log.wtf(TAG, "onCreate: logwtf"); ``` -
日志输出结果:
2021-09-27 14:13:48.480 32564-32564/com.example.test I/System.out: onCreate:System.out [ 1632723228.480 32564:32564 ?/MainActivity ] onCreate: log.println 2021-09-27 14:13:48.480 32564-32564/com.example.test V/MainActivity: onCreate: logv 2021-09-27 14:13:48.480 32564-32564/com.example.test D/MainActivity: onCreate: logd 2021-09-27 14:13:48.480 32564-32564/com.example.test E/MainActivity: onCreate: loge 2021-09-27 14:13:48.480 32564-32564/com.example.test I/MainActivity: onCreate: logi 2021-09-27 14:13:48.480 32564-32564/com.example.test D/MainActivity: onCreate:logm 2021-09-27 14:13:48.480 32564-32564/com.example.test D/MainActivity: onCreate: logr 2021-09-27 14:13:48.480 32564-32564/com.example.test W/MainActivity: onCreate: logw 2021-09-27 14:13:48.481 32564-32564/com.example.test E/MainActivity: onCreate: logwtf
-
在 Android API 中,提供了一个日志工具类 android.util.Log,通过这个类可以以不同的级别输出日志。
-
Android 的 Log 等级通常有 六 类,按照日志级别 由低到高 分别是 Verbose、Debug、Info、Warning、Error、Assert。
级别 输出方法 Verbose Log.v Debug Log.d Info Log.i Warn Log.w Error Log.e Assert Log.wtf -
平常用哪个作为调试最为方便,想要快速的看到输出结果,推荐 Log.e,因为它这一项输出少,其实也可以哪一项级别输出少用哪个,只要不挂进程就行。
-
像一些级别低的日志输出函数,打开一大堆的输出信息,找个调试结果都半天。



