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 的调试效率,建议结合具体场景灵活运用! 🔍🚀

相关推荐
我命由我1234521 小时前
Kotlin 运算符 - == 运算符与 === 运算符
android·java·开发语言·java-ee·kotlin·android studio·android-studio
我命由我123451 天前
Android Jetpack Compose - TopAppBar、BottomAppBar、Scaffold
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
我命由我123451 天前
Android Studio - Android Studio 去除 import 的未使用的类
android·java·ide·学习·java-ee·android studio·学习方法
先飞的笨鸟1 天前
2026 年 Expo + React Native 项目接入微信分享完整指南
前端·ios·app
iOS阿玮1 天前
AppStore卡审依旧存在,预计下周将逐渐恢复常态!
uni-app·app·apple
stevenzqzq2 天前
ctrl +B和ctrl+shift +B的区别
android·ide·android studio
FinClip2 天前
微信AI小程序“亿元计划”来了!你的APP如何一键接入,抢先变现?
前端·微信小程序·app
我命由我123453 天前
Android Jetpack Compose - Compose 重组、AlertDialog、LazyColumn、Column 与 Row
android·java·java-ee·kotlin·android studio·android jetpack·android-studio
大熊猫侯佩3 天前
拒绝“假死”:为何上滑关闭是测试大忌?揭秘 iOS 真实 OOM 触发指南
app·swift·apple
JulyYu4 天前
【Android】第三方库依赖引发的异常情况排查
android·android studio