AndroidStudio - 新版本 Logcat 使用详解

最近这俩天正好有时间给自己做一下减法,忘记是去年还是今年,在升级 AndroidStudio 后使用 Logcat查看日志的方式也发生了一些变化,虽然一直在使用,但每当看到之前还未关闭 Logcat 命令行工具额昂也,就感觉可能还存在知识遗漏

Logcat 相关

  • AndroidStudio - 新版本 Logcat 使用详解
  • AndroidStudio - Logcat显示乱码,都是编码格式惹得祸

官方

  • Logcat 命令行工具
  • Android Studio Dolphin Canary 6 now available

如果您针对 Logcat 命令行工具 一点有不了解,可能需要自行前往 查看 ;简单而言仅需知道 Logcat为日志查看工具,可提供不同级别的日志信息 基本就够用了,如果想多学点可以继续往下看

    • 设备选取
    • 日志介绍
    • 过滤规则
      • 包名、进程
      • 日志级别
      • tag标签
    • 多窗口
      • 创建多窗口
      • 日志比对
    • 预览日志视图
      • 设置方式
      • Standard View(默认)
      • Compact View(简洁)
      • Modify View(自定义)
    • 历史过滤规则
      • 历史条件
      • 常用收藏
    • 键值搜索
    • 跟踪应用程序崩溃/重新启动的日志

设备选取

如果设备中关联多台设备,可及时更换设备,以防看错、看漏(比较适合查看多机型适配场景下的日志信息,可结合多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 RightSplit 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 ENDEDPROCESS STARTED ,如下所示:

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/186544.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Multi-head attention机制

多头&#xff1a;多个相同结构的线性变换层&#xff08;方阵&#xff09;&#xff0c;要求分别线性变换 B站教学视频参考&#xff1a;https://www.bilibili.com/video/BV1eG4y1N7Jp/?p17&spm_id_frompageDriver&vd_sourcef4c7dcac0ad5ae8189bd414a3b23020d 什么是多头…

冒泡排序算法是对已知的数列进行从小到大的递增排序。

题目描述冒泡排序算法是对已知的数列进行从小到大的递增排序每个实例输出两行&#xff0c;第一行输出第1轮结果, 第二行输出最终结果 它的排序方法如下: 1.对数列从头开始扫描&#xff0c;比较两个相邻的元素,如果前者大于后者,则交换两者位置 2.重复步骤1&#xff0c;直到没有…

RocketMQ源码剖析之createUniqID方法

目录 版本信息&#xff1a; 写在前面&#xff1a; 源码剖析&#xff1a; 总计&#xff1a; 版本信息&#xff1a; RocketMQ-5.1.3 源码地址&#xff1a;https://github.com/apache/rocketmq 写在前面&#xff1a; 首先&#xff0c;笔者先吐槽一下RocketMQ的官方&#xff0…

attention中Q,K,V的理解

第一种 1.首先定义三个线性变换矩阵&#xff0c;query&#xff0c;key&#xff0c;value&#xff1a; class BertSelfAttention(nn.Module):self.query nn.Linear(config.hidden_size, self.all_head_size) # 输入768&#xff0c; 输出768self.key nn.Linear(config.hidde…

上海线下活动 | LLM 时代的 AI 编译器实践与创新

今年 3 月份&#xff0c; 2023 Meet TVM 系列首次线下活动从上海出发&#xff0c;跨越多个城市&#xff0c;致力于为各地关注 AI 编译器的工程师提供一个学习、交流的平台。 12 月 16 日 2023 Meet TVM 年终聚会将重返上海&#xff0c;这一次我们不仅邀请了 4 位资深的 AI 编…

自动伸缩:解密HPA、VPA、CA和CPA智能调整应用大小和数量

关注【云原生百宝箱】公众号&#xff0c;快速掌握云原生 Kubernetes提供了多种自动伸缩机制&#xff0c;例如HPA&#xff08;Horizontal Pod Autoscaling&#xff09;&#xff0c;可以根据不同情况动态调整Pod副本数量。此功能使 Pod 能够有效地处理当前流量&#xff0c;而无需…

pytorch中的激活函数详解

1 激活函数介绍 1.1 什么是激活函数 激活函数是神经网络中引入的非线性函数&#xff0c;用于捕获数据中的复杂关系。它来自动物界的灵感&#xff0c;动物的神经元会接受来自对它有作用的其他神经元的信号&#xff0c;当然这些信号对该神经元的作用大小不同&#xff08;即具有不…

Jmeter+ant+jenkins实现持续集成看这一篇就搞定了!

jmeterantjenkins持续集成 一、下载并配置jmeter 首先下载jmeter工具&#xff0c;并配置好环境变量&#xff1b;参考&#xff1a;https://www.cnblogs.com/YouJeffrey/p/16029894.html jmeter默认保存的是.jtl格式的文件&#xff0c;要设置一下bin/jmeter.properties,文件内容…

如何提高3D建模技能?

无论是制作影视动画还是视频游戏&#xff0c;提高3D建模技能对于你的工作都至关重要的。那么如何能创建出精美的3D模型呢&#xff1f;本文给大家一些3D建模技能方面的建议。 3D建模通过专门的软件完成&#xff0c;涉及制作三维对象。这项技能在视频游戏开发、建筑、动画和产品…

【Java Web学习笔记】0 - 技术体系的说明

B/S软件开发架构简述 B/S架构 1.B/S框架&#xff0c;意思是前端(Browser浏览器)和服务器端( Server )组成的系统的框架结构。 2. B/S架构也可理解为web架构&#xff0c;包含前端、后端、数据库三大组成部分。 3.示意图 ●前端 前端开发技术工具包括三要素: HTML、CSS和Jav…

1-3、DOSBox环境搭建

语雀原文链接 文章目录 1、安装DOSBox2、Debug进入Debugrdeautq 1、安装DOSBox 官网下载下载地址&#xff1a;https://www.dosbox.com/download.php?main1此处直接下载这个附件&#xff08;内部有8086的DEBUG.EXE环境&#xff09;8086汇编工作环境.rar执行安装DOSBox0.74-wi…

解决CentOS下PHP system命令unoconv转PDF提示“Unable to connect or start own listener“

centos系统下&#xff0c;用php的system命令unoconv把word转pdf时提示Unable to connect or start own listene的解决办法 unoconv -o /foo/bar/public_html/upload/ -f pdf /foo/bar/public_html/upload/test.docx 2>&1 上面这个命令在shell 终端能执行成功&#xff0c…

基于GAN的多尺度门合并多模态MRI图像合成

Multi-Modal MRI Image Synthesis via GAN With Multi-Scale Gate Mergence 基于GAN的多尺度门合并多模态MRI图像合成背景贡献实验方法生成器gate mergence (GM) strategy&#xff08;门控融合策略&#xff09;判别器 损失函数Thinking 基于GAN的多尺度门合并多模态MRI图像合成…

深入了解接口测试:揭秘网络分层和数据处理!

网络分层和数据 上一小节中介绍了接口测试中一些必要重要的定义&#xff0c;这一节我们来讨论一下在学习接口测试过程中我们要关注的最重要的东西&#xff1a;网络分层和数据。 首先&#xff0c;我们来尝试理解一下&#xff0c;为什么网络是要分层的呢&#xff1f; 我们可以…

python文件读取

相对路径 读文件 打印txt文件 fopen(".\data.txt","r",encoding"utf-8") contentf.read() print(content) f.close()with open(".\data.txt","r",encoding"utf-8") as f:contentf.read()print(content)contentf…

Ilya Sutskever:师从Hinton,“驱逐”奥特曼,一个改变AI世界的天才科学

ChatGPT 已经在全球爆火&#xff0c;但大众在两周之前似乎更熟悉Sam Altman&#xff0c;而对另一位创始人 Ilya Sutskever 却了解不多。 直到前几天因为OpenA眼花缭乱的政权争夺大戏&#xff0c;OpenAI 的首席科学家Ilya Sutskever的名字逐渐被世人所知。 Ilya Sutskever在科…

STM32 CUBEIDE Outline is disabled due to scalability mode

项目场景&#xff1a; 问题描述 Outline is disabled due to scalability mode 看不到函数 解决方案&#xff1a;

继承中的析构函数的权限的深入了解

如果一个父类中的析构函数如果设置为 private 权限 &#xff0c;一个子类public继承了这个父类&#xff0c;那么 这个父类可以创建对象吗&#xff1f; 答案是 不可以 看看下面的代码 class A { public:private:~A() {} };class B :public A {A a; // 这个地方编译不报错&…

【CAN通信】CanIf模块详细介绍

目录 1.内容简介 2.CanIf详细设计 2.1 CanIf功能简介 2.2 一些关键概念 2.3依赖的上下层模块 2.4 功能详细设计 2.4.1 Hardware object handles 2.4.2 Static L-PDUs 2.4.3 Dynamic L-PDUs 2.4.4 Dynamic Transmit L-PDUs 2.4.5 Dynamic receive L-PDUs 2.4.6Physi…

PostGIS学习教程八:空间关系

PostGIS学习教程八&#xff1a;空间关系 到目前为止&#xff0c;我们只使用了测量&#xff08;ST_Area、ST_Length&#xff09;、序列化&#xff08;ST_GeomFromText&#xff09;或者反序列化&#xff08;ST_AsGML&#xff09;几何图形&#xff08;geometry&#xff09;的空间…