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 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 会保留您的会话配置,例如选项卡拆分、筛选器和视图选项,以便您可以轻松地继续会话
相关文章:

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

Webpack ECMAScript 模块
文章目录 前言标题一导出导入将模块标记为 ESM 后言 前言 hello world欢迎来到前端的新世界 😜当前文章系列专栏:webpack 🐱👓博主在前端领域还有很多知识和技术需要掌握,正在不断努力填补技术短板。(如果出现错误&a…...

knife4j集合化postman
knife4j集合化postman 01 knife4j的介绍 基于 JavaMVC的集成框架swagger的进一步强化,在原有通过注释就能生成文档的前身swagger-bootstrap-ui之上,增加了postman的测试功能,优化了文档的UI界面,在测试api接口的方面有了极大的进…...

MongoDB的原子性和多文档事务处理
原子性和事务处理是数据库操作的核心,保证了数据的准确性。依据数据库原子性,数据库和使用数据库的人员定义事务处理的方式。本文依据Mongodb的官方文档,整理Mongodb数据库的原子性和事务处理方法。 Mongodb的原子操作 Mongodb中,…...

代理模式 1、静态代理 2、动态代理 jdk自带动态代理 3、Cglib代理
文章目录 代理模式1、静态代理2、动态代理jdk自带动态代理 3、Cglib代理 来和大家聊聊代理模式 代理模式 代理模式:即通过代理对象访问目标对象,实现目标对象的方法。这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操…...

ELK+filebeat+kafka
无需创建logstash的端口,直接创建topic 远程收集mysql和httpd的日志 (一)安装nginx和mysql服务 1、打开mysql的日志功能 2、创建日志(创库、创表、添加数据) (1)mysql服务器上安装http system…...

LLVM学习笔记(63)
4.4.3.3.2.3. 向量操作数类型的处理 下面开始处理向量类型。在默认情形下这些操作都会拆分为更小的操作或者调用库。 X86TargetLowering::X86TargetLowering(续) 667 // Some FP actions are always expanded for vector types. 668 for…...

【python+requests】接口自动化测试
这两天一直在找直接用python做接口自动化的方法,在网上也搜了一些博客参考,今天自己动手试了一下。 一、整体结构 上图是项目的目录结构,下面主要介绍下每个目录的作用。 Common:公共方法:主要放置公共的操作的类,比如数据库sql…...

plt创建指定色系
1、创建不连续色系 import matplotlib.pyplot as plt from matplotlib.colors import ListedColormap# 定义颜色的RGB值 colors [(0.2, 0.4, 0.6), # 蓝色(0.8, 0.1, 0.3), # 红色(0.5, 0.7, 0.2),(0.3,0.5,0.8)] # 绿色# 创建色系 cmap ListedColormap(colors)# 绘制…...

Java多线程-第20章
Java多线程-第20章 1.创建线程 Java是一种支持多线程编程的编程语言。多线程是指在同一程序中同时执行多个独立任务的能力。在Java中,线程是一种轻量级的子进程,它是程序中的最小执行单元。Java的多线程编程可以通过两种方式实现:继承Threa…...

寿险公司通过开源治理保障数字创新,安全打通高质量服务新通道
某寿险公司致力于为消费者提供人性化的产品和服务,在中国保险市场中始终保持前列。该寿险公司以挖掘和满足客户需求为出发点,从产品开发、渠道销售、运营流程和售后服务等各环节,借助数字化工具,不断地努力探索并提升服务品质。 精…...

SpringBoot中的部分注解
1.SpringBoot/spring SpringBootApplication: 包含Configuration、EnableAutoConfiguration、ComponentScan通常用在主类上; Repository: 用于标注数据访问组件,即DAO组件; Service: 用于标注业务层组件; RestController: 用…...

蓝桥杯-02-蓝桥杯C/C++组考点与14届真题
文章目录 蓝桥杯C/C组考点与14届真题参考资源C/C组考点1. 组别2. 竞赛赛程3. 竞赛形式4. 参赛选手机器环境5. 试题形式5.1. 结果填空题5.2. 编程大题 6. 试题考查范围7. 答案提交8. 评分9. 样题样题 1:矩形切割(结果填空题)样题 2:…...

计算机杂谈系列精讲100篇-【计算机应用】关于TensorFlow和PyTorch的一些看法
目录 前言 知识储备 PyTorch使用高频代码 导入包和版本查询...

Uni-App知识点
文章目录 一、事件总线二、什么是事件总线三、触发事件1、监听事件2、只监听一次3、移除监听4、触发事件注意事项5、代码示例6、注意事项 一、事件总线 除了父子组件传参之外,兄弟组件之间共享信息也是我们经常会遇到的。如果遇到这类问题,我们现在可以…...

Postman如何使用(四):接口测试
一.接口 1.程序内部接口:方法与方法之间,模块与模块之间的交互,程序内部抛出的接口,比如bbs系统,有登录模块,发帖模块等等,那你要发帖就必须先登录,那么这两个模块就得有交互&#…...

【Qt绘图】之绘制坦克
使用绘图事件,绘制坦克。 效果 效果很逼真,想象力,有没有。 示例 代码像诗一样优雅,有没有。 包含头文件 #include <QApplication> #include <QWidget> #include <QPainter>绘制坦克类 class TankWidge…...

【机器视觉技术栈】- 机器视觉基础
1.1 为什么采用机器视觉 人眼与机器视觉对比 人眼机器视觉精确性差,64灰度级,不能分辨小于100微米的目标强,256灰度级,可检测微米级目标速度慢,无法看清间隔小于40毫秒的运动目标快,快门时间可达10微秒适…...

Arkts开发UIAbility组件生命周期启动模式开发详解【鸿蒙专栏-19】
文章目录 HarmonyOS UIAbility组件详解UIAbility组件概述声明配置UIAbility组件生命周期Create状态WindowStageCreate和WindowStageDestroy状态Foreground和Background状态Destroy状态UIAbility组件启动模式Singleton启动模式Standard启动模式Specified启动模式HarmonyOS UIAbi…...

力扣295. 数据流的中位数(java,堆解法)
Problem: 295. 数据流的中位数 文章目录 题目描述思路解题方法复杂度Code 题目描述 思路 由于该题目的数据是动态的我们可以维护两个堆来解决该问题 1.维护一个大顶堆,一个小顶堆 2.每个堆中元素个数接近n/2;如果n是偶数,两个堆中的数据个数…...

open3d-点云及其操作
open3d提供了一个专门用于点云的数据结构 PointCloud。 class PointCloud(Geometry3D):color # 颜色normals # 法向量points # 点云def __init__(self, *args, **kwargs):"""__init__(*args, **kwargs)Overloaded function.1. __init__(self: open3d.cpu.py…...

无人机助力电力设备螺母缺销智能检测识别,python基于YOLOv7开发构建电力设备螺母缺销高分辨率图像小目标检测系统
传统作业场景下电力设备的运维和维护都是人工来完成的,随着现代技术科技手段的不断发展,基于无人机航拍飞行的自动智能化电力设备问题检测成为了一种可行的手段,本文的核心内容就是基于YOLOv7来开发构建电力设备螺母缺销检测识别系统…...

如何使用Python的Open3D开源库进行三维数据处理
简介 在本文中,我提供了一个关于如何使用Python的Open3D库(一个用于3D数据处理的开源库)来探索、处理和可视化3D模型的快速演练。 使用Open3D可视化的3D模型(链接https://sketchfab.com/3d-models/tesla-model-s-plaid-9de8855fa…...

HarmonyOS应用开发者基础认证试题
判断题 1.Ability是系统调度应用的最小单元,是能够完成一个独立功能的组件。一个应用可以包含一个或多个Ability。(true) 2.Tabs组件仅可包含子组件TabsContent,每一个页签对应一个内容视图即TabContet组件。(true) 3.使用http模块发起网络请求时&#…...

Android Camera2开启电子防抖(EIS)和光学防抖(OIS)
刚好当前项目有录像功能,使用了第三方框架是基于Camera2引擎开发,当使用 Camera2 API 开发相机应用时,启用和关闭 EIS(电子防抖)是一个重要的功能。EIS 可以帮助减少相机拍摄时的抖动,从而提高图像和视频的…...

劲爆:Sam Altman 回归CEO专访确认Q*的存在
每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领…...

Electronica慕尼黑电子展 Samtec团队与21ic分享虎家产品与方案
【摘要/前言】 “希望但凡是能够使用到连接器的场合都有Samtec的身影” 在慕尼黑上海电子展现场,Samtec华东区销售经理章桢彦先生在与21ic副主编刘岩轩老师的采访中,如是说道。这是一种愿景,更是Samtec的努力方向。短短一句话,…...

Vue基本使用(一)
📑前言 本文主要是【Vue】——Vue基本使用的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 🌄每日一句&#x…...

Android:BackStackRecord
BackStackRecord:fragment回退栈,继承自FragmentTransaction,并且实现了OpGenerator接口,OpGenerator接口用来添加或弹出事务的,后面会提到。 从《Android:从源码看FragmentManager如何工作》文章知道,每次beginTransaction会创建一个BackStackRecord对象,改对象持有f…...

微信小程序 slider 翻转最大和最小值
微信小程序 slider 翻转最大和最小值 场景代码示例index.wxmlindex.jsutil.js 参考资料 场景 我想使用 slider 时最左边是 10 最右是 -10。 但是想当然的直接改成<slider min"10" max"-10" step"1" /> 并没用。 查了文档和社区也没有现成…...