最近这俩天正好有时间给自己做一下减法,忘记是去年还是今年,在升级 AndroidStudio 后使用 Logcat查看日志的方式也发生了一些变化,虽然一直在使用,但每当看到之前还未关闭 Logcat 命令行工具额昂也,就感觉可能还存在知识遗漏
Logcat 相关
官方
如果您针对 Logcat 命令行工具 一点有不了解,可能需要自行前往 查看 ;简单而言仅需知道 Logcat为日志查看工具,可提供不同级别的日志信息
基本就够用了,如果想多学点可以继续往下看
设备选取
如果设备中关联多台设备,可及时更换设备,以防看错、看漏(比较适合查看多机型适配场景下的日志信息,可结合多Logcat窗口进行多机型日志查看)

日志介绍
关于日志中的大部分含义我们还是都清楚的,但为了行知统一,简单说明一下(可结合预览日志视图一起学习)
左边到右:时间戳 → 进程id → tag标识 → 包名 → 日志级别 → 具体信息

过滤规则
过滤提示 message: message
~、-message
和 -message~
前后符号含义如下
-
:对当前标签的过滤结果取反~
:对当前标签的过滤使用后续正则表达式-xxx~
就是对 xxx 标签采用正则表达式的结果取反~~
包名、进程
现在的过滤规则支持以process
(进程)、package
(包名)条件进行过滤,其中使用场景 package:mine
较多

package:mine
场景(当前执行项目)

日志级别
这方面和以前相同,简单说明(我用error多一些,有些朋友喜欢设置对应日志级别的输出颜色,也可以自己去设置一波)
常规 → V:详细(最低优先级)、D:调试、I:信息、W:警告、E:错误
新增 → level:assert:断言
未涉及 → F:严重错误、S:静默(最高优先级,绝不会输出任何内容)

tag标签
其实可以根据整体的tag信息,自行过滤相关tag条件

多窗口
创建多窗口
支持在 Logcat 中创建多个选项卡,以便可以轻松地在不同设备或查询之间切换

右键单击选项卡可以对其进行重命名,并且可以单击并拖动以重新排列选项卡

日志比对
可通过
Split Right
、Split Down
对比 Logcat 输出日志,每个对比窗口均可自行选取连接设备和过滤条件
- 顶部功能键

- 侧边功能键

提示:当同一个Logcat中打开多个对比窗口后,可直接右键 Close ,避免无线套娃

预览日志视图
关于预览日志主要有三种模式 StandardView(默认)
、Compact View(简洁)
、Modify View(自定义)
,具体使用哪种看个人的工作习惯
设置方式

Standard View(默认)

Compact View(简洁)

Modify View(自定义)
这里支持动态显示预览结果,可直接通过选择与否,设置自己喜欢的日志信息

历史过滤规则
可直接在过滤规则旁通过漏斗图标选择之前使用过的过滤规则
,经测试后发现不会记录之前使用对应过滤规则的日志信息,仅会重新筛选当前的日志信息
历史条件

常用收藏
支持收藏一一些常用的过滤规则

经收藏后的过滤规则会靠前显示

键值搜索
关于这种搜索方式我并未使用过,但还是有必要记录下来,以防后续用到
在 Logcat 的早期版本中,可以选择
- 使用字符串搜索(支持正则表达式),选项使搜索更加复杂
- 使用 Logcat UI 填充各种字段来创建新过滤器,选项使共享和设置查询更加困难
现在,我们通过直接从主查询字段引入键值搜索来简化体验

这个新的查询系统无需依赖正则表达式即可提供准确的查询结果,并且能够从历史记录中调用过去的查询并与其他人共享这些查询。此外,您仍然可以选择使用正则表达式并根据键值排除日志。以下是如何使用新查询系统的一些示例,但您也可以简单地开始在查询字段中输入以查看建议:
- 本地应用程序项目的 PID:package-mine
- 具体数值:
- 包:<我的包 ID>
- 标签:<我的标签>
- 级别:[详细| 信息| 断言| 调试| 警告 | 错误]
- 通过在键前面添加-来排除特定值:
- -标签:<排除此标签>
- 通过在键后面 放置~来使用具有给定键的正则表达式:
- tag~:<正则表达式标签>
- 与排除标签结合使用:-tag~:
跟踪应用程序崩溃/重新启动的日志
简而言之就是应用崩溃/重启后日志信息可分辨出对应日志状态,同时会保留原始针对Logcat的配置信息,例如过滤条件、视图选项等
新的 Logcat 现在可以更轻松地跟踪应用程序崩溃和重新启动时的日志,这样就不会错过这些事件的重要日志
当 Logcat 注意到应用程序进程已停止并重新启动时,您将在输出中看到一条消息,例如PROCESS ENDED
和PROCESS STARTED
,如下所示:

而且,重新启动 Logcat 会保留您的会话配置,例如选项卡拆分、筛选器和视图选项,以便您可以轻松地继续会话