AndroidStudio - 新版本 Logcat 使用详解

最近这俩天正好有时间给自己做一下减法,忘记是去年还是今年,在升级 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 会保留您的会话配置,例如选项卡拆分、筛选器和视图选项,以便您可以轻松地继续会话

相关推荐
千里马学框架5 天前
一起学 Android 14:ShellTransition 屏幕旋转过程深度剖析
android·智能手机·性能优化·framework·性能·屏幕旋转·rotation
美狐美颜SDK开放平台5 天前
开发直播APP时如何接入视频美颜SDK?开发流程与注意事项
android·人工智能·计算机视觉·音视频·直播美颜sdk
AFinalStone5 天前
Android7 SystemUI源码解析(七)Keyguard锁屏模块深度解析
android·systemui
致远ccc5 天前
Google Play 上架前如何测试 App?多国家 Android 环境测试
android·app测试·googleplay·多国家应用测试
ttyyttemo5 天前
Kotlin 协程中的 Job 结构化并发与取消
android
sun0077005 天前
tbox 4g/5g切换,导致wan ip 改变,导致车机旧网络不可用。需要重启车机才行
android
其实防守也摸鱼5 天前
内网穿透与反向代理:原理、工具与实战指南
android·大数据·运维·安全·网络安全·自动化·渗透
AFinalStone5 天前
Android7 SystemUI 源码解析(四)NavigationBar 导航栏与 SystemBars
android·systemui
JMchen5 天前
属性动画原理与高级动画实现
android·kotlin·canvas
AFinalStone5 天前
Android7 SystemUI 源码解析(二)启动流程深度解析
android·systemui