Android入门(三) | Android 的日志工具 Logcat

文章目录

  • 日志工具类 android.util.Log
  • Logcat 中的过滤器


日志工具类 android.util.Log

Log 从属日志工具类 android.util.Log ,该类提供了五个方法供我们打印日志:

  • Log.v() :用于打印那些最为琐碎的、意义最小的日志信息。对应级别 verbose,是 Android 日志里面级别最低的一种。
  • Log.d() :用于打印一些调试信息,这些信息对你调试程序和分析问题应该是有帮助的。对应级别 debug,比 verbose 高一级。
  • Log.i() : 用于打印一些比较重要的数据,这些数据应该是你非常想看到的、可以帮你分析用户行为数据。对应级别 info,比 debug 高一级。
  • Log.w() :用于打印一些警告信息,提示程序在这个地方可能会有潜在的风险,最好去修复一下这些出现警告的地方。对应级别 warn,比 info 高一级。
  • Log.e() : 用于打印程序中的错误信息,比如程序进入到了 catch 语句当中。当有错误信息打印出来的时候,一般都代表你的程序出现严重问题了,必须尽快修复。对应级别 error,比 warn 高一级。

举例:

Log.d("MainActivity", "onCreate execute");
// 两个参数:
// tag:过滤打印信息,一般为当前类名
// msg:打印的具体内容

在这里插入图片描述

不使用 System.out.println( ) 而使用 Log 一方面是 AS 不支持 syso+TAB 的自动补全,但支持 logd/logi/logw/loge+TAB 生成 Log 的自动补全,另一方面是 Log 显示的信息更全面。

再偷懒一点,Log 的自动补全也有个缺陷——需要传入 tag 参数:
Android入门(三) | Android 的日志工具 Logcat_第1张图片
由我们填写太过繁琐,因此我们可以在 onCreate() 方法外输入 logt+TAB 生成值为当前类名的 TAG 常量:
Android入门(三) | Android 的日志工具 Logcat_第2张图片


Logcat 中的过滤器

Logcat 有三种过滤器,以满足我们不同的需求:
Android入门(三) | Android 的日志工具 Logcat_第3张图片

  • Show only selected application : 表示只显示当前选中程序的日志。
  • Firebase :谷歌提供的一个分析工具。
  • No Filters :相当于没有过滤器,会把所有的日志都显示出来。
  • Edit Filter Configuration :允许自定义过滤器。

我们来看看过滤器起到什么作用:
Android入门(三) | Android 的日志工具 Logcat_第4张图片

  • 过滤器的名字叫:Unnamed-0
  • 对参数 tag 值为 logshow 的日志进行过滤

点击 OK 后将过滤器换为 Unnamed-0,发现 Logcat 没有日志信息:
Android入门(三) | Android 的日志工具 Logcat_第5张图片
这是因为 Unnamed-0 只会显示 tag 名称为 logshow 的日志。只需要将原 Log.d 的 tag 从 MainActivity 改为 logshow ,即可输出日志信息:
Android入门(三) | Android 的日志工具 Logcat_第6张图片

在这里插入图片描述

你可能感兴趣的:(Android,android,java,apache)