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

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

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

1、日志信息组成

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

2、工具栏功能介绍

二、过滤日志

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

  • 在Logcat中,可分别指定:tag、package、message 三个过滤器来过获取指定的日志。
  • 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 的日志。

需要注意 :- 标识在 message 和 package 都是可用的。

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

相关推荐
mmsx8 小时前
Android 一个设备多个 App 抢:跨进程共享服务的架构设计
android·kotlin·app
mmsx8 小时前
Android GIS系列 栅格怎么存、格网怎么归算:两个容易混淆的 GIS 链路
android·性能优化·app
mmsx8 小时前
Android GIS系列 串口、蓝牙、USB、网络:一套统一抽象怎么扛住四种通道
android·app·产品
mmsx6 天前
Android GIS系列 内存加锁、SQLite 开事务:矢量数据集双层并发设计
android·性能优化·app
zihan5186 天前
自己做软件日记9/21 得到了一个良好的文件结构框架
后端·flutter·前端框架·android studio
Kingexpand_com8 天前
企业车队运营痛点解析:传统人工模式如何实现数字化升级
小程序·app·软件开发·app定制开发·打车用车app·车队
古法安卓9 天前
Android-休眠唤醒后onLocationChanged没有数据问题排查
android·java·android studio
不要喷香水9 天前
01-网络层与鉴权
app·档案·pda
不要喷香水9 天前
00-总览与架构
kotlin·app·档案管理
mmsx9 天前
Android 地图卡成 PPT 之后:双渲染管线与空间网格渐进加载怎么救
android·app