Android studio 2024 新版logcat的使用笔记

参考文章

Android Studio2022年10月更新Logcat配置过滤
使用 Logcat 查看日志-android studio 官方

logcat 简单条件过来

以下是可以在查询中使用的键的一些示例:

tag:与日志条目的 tag 字段匹配。
package:与日志记录应用的软件包名称匹配。
process:与日志记录应用的进程名称匹配。
message:与日志条目的消息部分匹配。
level:与指定或更高严重级别的日志匹配,例如 DEBUG。
age:如果条目时间戳是最近的,则匹配。值要指定为数字,后跟表示时间单位的字母:s 表示秒,m 表示分钟,h 表示小时,d 表示天。例如,age: 5m 只会过滤过去 5 分钟内记录的消息。

//输入package:(输入一个p就会有提示的) ,然后后面跟上你的包名
package:com.tencent.mm

// 输入level: ,后面加上等级,如info,debug,warning等
// 当等级为Info时,过滤Info及以上的日志
level:info 

// 输入tag: ,后面跟上你要过滤的TAG 字符
tag:cameratest

// 输入message: , 后面跟上你要过滤的关键字
message:TestActivity

logcat 复合条件

查看报名 :om.tencent.wework ,且 tag 不包含 MultiPhoto开否的日志

如果你的日志中有很多无用的且快速打印的日志,影响我们观察日志输出,那我们可以过滤掉他们
否定的表示方式是在字段名称前面加上 - 例如
package:com.tencent.wework -tag:MultiPhoto*

查看报名 :om.tencent.wework ,且 tag 不包含 MultiPhoto开否的日志 + tag 不是 VideoCapabilities的日志

package:com.tencent.wework -tag:MultiPhoto* -tag:VideoCapabilities

logcat过滤不需要的tag

package tag message 可多次使用进行组合

// 这里是对ccom.tencent.wework 包进行Info等级的日志过滤,过滤TAG 为AutoMachineLog 和
// cameratest,在过滤这些日志里面的带有false和失败关键字的日志
package:com.tencent.wework level:info tag:AutoMachineLog tag:cameratest message:false message:失败
例子2
package:com.tencent.wework -tag:MultiPhoto* -tag:VideoCapabilities message:==>mqtt-wlkpublish

age过滤时间

age: 用于显示在特定时间段内生成的日志消息,帮助您专注于最近的日志
基本语法

age:30s      # 最近30秒的日志
age:5m       # 最近5分钟的日志  
age:1h       # 最近1小时的日志
age:2d       # 最近2天的日志
logcat过滤tag并在30秒内的log

否定和正则表达式

以下字段支持否定和正则表达式匹配:tag、package、message 和 line。

否定的表示方式是在字段名称前面加上 -。例如,-tag:MyTag 匹配 tag 不包含字符串 MyTag 的日志条目。

正则表达式匹配通过在字段名称中附加 ~ 来表示。例如 tag~:My.*Tag。

否定和正则表达式修饰符可以结合使用。例如,-tag~:My.*Tag。

逻辑运算符和圆括号

查询语言支持由 & 和 | 以及圆括号表示的 AND 和 OR 运算符。例如:

(tag:foo | level:ERROR) & package:mine

请注意,系统会强制执行常规的运算符优先级,因此:

tag:foo | level:ERROR & package:mine

求值结果为:

tag:foo | (level:ERROR & package:mine)

隐式逻辑运算符

如果未应用逻辑运算符,查询语言会自动将具有相同键的多个非否定 key-value 过滤器项视作 OR,并将其他过滤器项视作 AND。

例如:

tag:foo tag:bar package:myapp

求值结果为:

(tag:foo | tag:bar) & package:myapp

但是:

tag:foo -tag:bar package:myapp

求值结果为:

tag:foo & -tag:bar & package:myapp

如果多个查询字词之间用空格分隔开且没有逻辑运算符,系统会将其视为低优先级 AND。例如,foo bar tag:bar1 | tag:bar2 这一术语等同于 'foo bar' & (tag: bar1 | tag: bar2)。

is 键

您可以按如下方式使用 is 键:

is:crash 匹配表示应用崩溃(原生或 Java)的日志条目。
is:stacktrace 匹配表示任何类似 Java 堆栈轨迹的日志条目,而不管日志级别如何。
name 键

通过 name 键,您可以为已保存的过滤器提供一个唯一名称,使其在过滤器历史记录下拉菜单中易于识别。虽然您不会因多次指定 name 而遇到错误,但 IDE 仅会在查询中使用 name 的最后一个指定值。

跟踪应用崩溃和重启日志

当 Logcat 发现您的应用进程已停止并重启时,会在输出中显示一条消息,例如 PROCESS ENDED 和 PROCESS STARTED。重启 Logcat 会保留会话配置(例如标签页拆分、过滤器和视图选项),以便于您轻松继续会话。

package:com.tencent.wework message:"PROCESS STARTED" OR message:"PROCESS ENDED"

package:com.tencent.wework message:"PROCESS STARTED" OR message:"PROCESS ENDED" OR message:"PROCESS"

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容