Android 之 Logcat 的使用技巧 —— 新手指南

Android开发中,使用Logcat来查看日志是常态,本文将介绍一些Logcat的使用技巧。

一、日志格式与工具栏功能介绍

1、日志信息组成

  • 日志信息组成:日志时间、进程和线程的Id、tag、包名、日志的等级和内容。

2、工具栏功能介绍

二、过滤日志

日志一般有很多无用的信息,此时就需要过滤日志,找到想要的日志信息。Logcat 提供了很多过滤器,方便我们找到想要的日志信息。

  • 在Logcat中,可分别指定:tagpackagemessage 三个过滤器来过获取指定的日志。
  • tag:显示包含指定tag的日志,如:tag:Test 显示tag包含 Test 的日志
  • package:显示包含指定包名的日志,如果只想显示当前应用的日志,可以使用package:mine
  • message:显示包含指定字符串的日志。

1、正向匹配过滤

如打印tag:Test的日志信息 示例如下:

  • tag:Test:匹配包含所有Test的tag。
  • 完全匹配 :使用tag=:Test

2、反向匹配过滤

Logcat还支持反向匹配,反向匹配过滤使用非常地简单,只需要加上-,比如说 -tag:Test 就是不显示 tag 包含 Test 的日志。

需要注意 :- 标识在 messagepackage 都是可用的。

3、正则表达式

Logcat还支持正则表达式,使用非常地简单,只需要加上~,如message~:后面接正则表达式。

低版Android Studio : 在 Logcat 搜索框右侧勾选 Regex 选项。

核心语法速查表:

示例一:message~:"onCreate"

示例二:message~:"-onCreate"

4、时间过滤

Logcat使用age进行时间过滤,值要指定为数字,后跟表示时间单位的字母:s 表示秒,m 表示分钟,h 表示小时,d 表示天。

需要注意:age 后面跟的数字是以电脑时间为基准的。因此需要确保电脑的时间与手机的时间保持一致。

5、特殊过滤

Logcat支持使用 level 日志等级 和 is 日志类型来匹配。

示例一:level:info

示例二:is:error

is 显示指定的日志类型。目前有三种:

  • is:crash 只显示应用崩溃(原生或 Java)的日志条目。
  • is:stacktrace 只显示任何类似 Java 堆栈轨迹的日志信息,而不管日志级别如何。
  • is:firebase 只显示 Firebase 库打印的日志

6、组合多个过滤器

示例一:多条件组合过滤

结合 包名过滤 和正则表达式:

kotlin 复制代码
package:com.example.app && message~"Failed to load.*"  
  • 效果 :仅显示包名为 com.example.app 且消息包含 Failed to load 的日志。

示例一:时间范围 + 正则匹配

kotlin 复制代码
time:2023-10-01..2023-10-02 && message~"OutOfMemory"  
  • 效果:查找 10月1日至2日期间的内存溢出日志。

掌握正则表达式能极大提升 Logcat 的调试效率,建议结合具体场景灵活运用! 🔍🚀

相关推荐
Ryan ZHENG1 天前
[Android][踩坑]Android Studio导入core-libart.jar
android·android studio·jar
BoomHe1 天前
车载应用配置系统签名
android·android studio
路人甲ing..2 天前
用 Android Studio 自带的模拟 Android Emulator 调试
android·java·ide·ubuntu·kotlin·android studio
路人甲ing..2 天前
Android Studio 模拟器报错 The emulator process for AVD xxxxx has terminated.
android·java·ide·kotlin·android studio
小码哥0682 天前
【源码集锦】租房小程序技术搭建
小程序·app·租房·租房平台
apigfly2 天前
如何通过 Android 消息机制实现 Looper 的性能监控
android·性能优化·app
bqliang3 天前
从喝水到学会 Android ASM 插桩
android·kotlin·android studio
圆肖3 天前
File Inclusion
android·ide·android studio
花花鱼3 天前
android studio引用三方库的方法,比如SmartRefreshLayout
android·ide·android studio
路人甲ing..5 天前
Ubuntu怎么安装tar.gz (android-studio为例)
linux·ubuntu·kotlin·android studio