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

  • Post author:
  • Post category:其他





日志工具类 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

参数:

在这里插入图片描述

由我们填写太过繁琐,因此我们可以在

onCreate()

方法外输入

logt+TAB

生成值为当前类名的

TAG

常量:

在这里插入图片描述




Logcat 中的过滤器


Logcat

有三种过滤器,以满足我们不同的需求:

在这里插入图片描述


  • Show only selected application

    : 表示只显示当前选中程序的日志。

  • Firebase

    :谷歌提供的一个分析工具。

  • No Filters

    :相当于没有过滤器,会把所有的日志都显示出来。

  • Edit Filter Configuration

    :允许自定义过滤器。

我们来看看过滤器起到什么作用:

在这里插入图片描述

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

点击 OK 后将过滤器换为 Unnamed-0,发现 Logcat 没有日志信息:

在这里插入图片描述

这是因为 Unnamed-0 只会显示 tag 名称为 logshow 的日志。只需要将原 Log.d 的 tag 从

MainActivity

改为

logshow

,即可输出日志信息:

在这里插入图片描述

在这里插入图片描述



版权声明:本文为Jormungand_V原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。