Android Studio - 新版 logcat 过滤使用记录
由于 as 在每次升级都有很多问题,因此去年升级到 Dolphin 就一直未升级,Dolphin 版本就可以在设置中打开新版的 logcat 过滤功能,觉得不太习惯又关掉了。这次刚好 asfp 的下载重新学习下新版的功能。在此简单记录下。
我们可以在输入框输入 "p" 然后就会有提示 p 开头的过滤名称。旧版的只能在过滤包名的条件下再过滤一个名称,新版的可以自行创建过滤规则。输入包名也会有提示的。
常用的使用方式
1、过滤包名 package:org.sipdroid.sipua
2、过滤字段 message:sipua
3、过滤包名加字段 package:org.sipdroid.sipua message:alarm
4、过滤包名加两个字段 package:org.sipdroid.sipua message:=alarm message:600
解释如下
其他的方式可以按照自己的需要任意添加,下面补充一下各个含义:
- tag:与日志条目的 tag 字段匹配。
- package:与日志记录应用的软件包名称匹配。
- process:与日志记录应用的进程名称匹配。
- message:与日志条目的消息部分匹配。
- level:与指定或更高严重级别的日志匹配,例如 DEBUG。
- age:如果条目时间戳是最近的,则匹配。值要指定为数字,后跟表示时间单位的字母:s 表示秒,m 表示分钟,h 表示小时,d 表示天。例如,age: 5m 只会过滤过去 5 分钟内记录的消息。
否定和正则表达式
以下字段支持否定和正则表达式匹配: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)。
特殊查询
package:mine
软件包键支持特殊值 mine。此特殊值与开放项目中包含的任何软件包名称匹配。
level
level 查询与 Logcat 消息的日志级别匹配,其中日志条目的级别大于或等于查询级别。
例如,level:INFO 匹配日志级别为 INFO、WARN、ERROR 或 ASSERT 的任何日志条目。级别不区分大小写。有效级别包括:VERBOSE、DEBUG、INFO、WARN、ERROR 和 ASSERT。
请注意,该时间戳是与主机(而非已连接的设备)的时间戳进行比较的。如果设备时间设置不正确,此查询可能无法正常运行。
is 键
您可以按如下方式使用 is 键: