新版AndroidStudio log使用

news2024/10/8 11:49:00

从Android Studio Dophin开始,Android Studio中的默认展示了新版的logcat。新版的logcat色彩上是更加的好看了,不同的tag会有不同的颜色,不同level等级的log默认也有不同的颜色。log过滤修改的更简洁了,当然使用起来也更加复杂了。原先的log视图只需要勾选就可以选择不同level的log了,只需要选择只展示当前应用的log就可以过滤掉其他应用的log了,但是新版只提供了一个输入框去过滤。在经过几个月的适应和对于官方文档的学习后,终于熟练使用,这里简单分享一下,让更多人更快入门。
在这里插入图片描述

定义自己专属的log view

log view 默认提供了两种视图,Standard View 和Compat View。Stand View会展示每一条log的日期,时间,进程线程id,tag,包名,log level以及message。Compat View只展示时间,log level和详细的message。可以通过log view左边的Configure Logcat Formatting Options按钮来修改,同时这个按钮中还有一个Modify Views选项可以来修改standard和 Compat视图的具体展示内容,可以定制自己的logview样式,如下图所示。
在这里插入图片描述

个性化的logcat 视图不仅仅是可以自定义展示的内容,还可以修改log和filter的配色方案。前往Settings(Windows)/Preferences(Mac) ->Editor -> Color Scheme,选择Android Logcat即可修改log 的颜色,选择Logcat Filter即可修改filter的颜色。

以上修改的是logcat view的外表,我们还可以修改它的内核,一个是logcat循环滚动区的大小,以及新logcat window的默认filter,可以通过前往Settings(Windows)/Preferences(Mac) -> Tools -> Logcat 设置。

一些操作技巧

在标准布局下,或者我们的log太长的时候,一屏通常展示不下,我们需要不停的向右滑动,滚动才能看到log的信息,我们可以用log view左侧的Soft-Wrap 按钮来让log换行。

左侧的Clear Logcat按钮可以清空logcat。左侧的Pause按钮可以暂停logcat的输出,方便看错误日志,可以避免关心的日志被新的日志冲掉。

新版本中,可以通过点击logcat tab右侧的New tab 按钮来同时创建多个logcat view窗口。这种方式创建的不能同时展示,而利用logcat view左侧的split Panels 按钮则可以创建多个窗口,并且同时展示。每一个窗口都可以设置自己要展示的连接设备,展示样式,以及过滤选项。这样就可以很方便的同时观察多种log。

在这里插入图片描述

当找到需要的log时,想暂停log可以点击左侧暂停按钮:
在这里插入图片描述

通过键值对来过滤Log
在这里插入图片描述

新的过滤器,看起来简单,实际上更加复杂且强大了。通过Ctrl+Space按键可以查看系统建议的一些查询列表。这里介绍一下查询中会用到的键:

tag: 匹配日志的tag字段
package:匹配记录日志的软件包名,其中特殊值mine匹配当前打开项目对应的应用log。
process:匹配记录日志的进程名
message:匹配日志中我们自己填写的message的部分。
level:与指定或者更高级别的日志匹配,比如debug或者error,输入level后as会自动提示可以选择。
age:让窗口中只保留最近一段时间的log,值为数字加单位,s表示秒,m表示分钟,h表示小时,d表示天。如age:10s就只保留最近10s的日志。
is: 这个键有两个固定的value取值,crash匹配应用崩溃日志,stacktrace匹配任意类似java堆栈轨迹的日志,这两个对于看crash查问题是非常好用的。

这么多的键匹配,是可以逻辑组合的。我们可以使用&和|以及圆括号,系统会强制执行常规的运算符优先级。level:ERROR | tag:foo & package:mine 会被强转为level:ERROR | (tag:foo & package:mine ) 。如果我们没有填写逻辑运算符,查询语言会将多个具有相同键的非否定过滤视为OR,其他过滤视为AND。 如: tag:fa tag:ba package:mine 计算逻辑是 (tag:fa | tag:ba) & package:mine 但tag:fa -tag:ba package:mine 计算逻辑是 tag:fa & -tag:ba & package:mine。这里的-用来表示否定,既tag不包含ba的情况。

新版的logcat view当然也是支持正则的,tag、message、package、process这几项是支持正则的。使用正则需要在键后面加一个~,例如: tag~:My.*Report。 除了正则这个选项之外,这几个键还有完全匹配和包含字符串即可的选项。不加修饰符号就是包含指定的字符串即可匹配。如果后面加=则要完全匹配才可以,例如process=:system_server和process:system_ser可以匹配到system_server的log,但是process=:system_ser则无法匹配到。

同时如上几个匹配选项都支持和前面说的否定符号连用如:-process=:system_server。

既然新版支持了这么复杂和强大过滤功能,如果每次都现想现写,那肯定是头皮发麻。as也为我们提供了收藏和历史记录功能。点击右侧的的星星按钮即可收藏当前的过滤条件,点击左侧的漏斗即可查看历史和收藏,并且可以删除不想要的记录。

参考文献:https://blog.csdn.net/woailinqingxia/article/details/134820595#:~:text=%E5%9C%A8%E6%9C%80%E6%96%B0%E7%89%88%E6%9C%AC%E7%9A%84Andr

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

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

相关文章

系统开发基础错题解析一【软考】

目录 前言1.开发模型1.1快速原型模型优点1.2敏捷统一模型1.3增量模型的优缺点1.4极限编程1.5螺旋模型 2.软件开发方法3.数据流图与数据字典3.1判定表3.2数据流图绘制3.3决策树 4.概要设计和详细设计5.内聚性6.耦合性 前言 本文专门用来记录本人在做软考中有关系统开发基础的错…

基于SpringBoot+Vue的宠物店管理系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

0基础跟德姆(dom)一起学AI 机器学习03-线性回归

线性回归 线性回归介绍 【理解】举个栗子 假若有了身高和体重数据,来了播仔的身高,你能预测播仔体重吗? 这是一个回归问题,该如何求解呢? **思路**:先从已知身高X和体重Y中找规律,再预测 •数学问题:用一条线来拟…

【LeetCode】每日一题 2024_10_7 最低加油次数(堆、贪心)

前言 每天和你一起刷 LeetCode 每日一题~ 大家国庆节快乐呀~ LeetCode 启动! 国庆最后一天,力扣还在加油站,怕不是国庆回家路上堵车了 题目:最低加油次数 代码与解题思路 func minRefuelStops(target int, startFuel int, st…

失业的程序员除了找工作,还有哪些赚钱的路子?零基础入门到精通,收藏这篇就够了_网络开发怎么赚钱

看到一个平台上的博主,目前在做独立开发者,开发了20多个网站,网站的类型主要是工具型和信息整理型,谷歌广告的收益一个月1万多。 目前他除了依靠谷歌广告的收入外,也在做自媒体,拓展这一块的收入&#xff…

41亿收购百年零部件巨头,「果链一哥」欲再造千亿规模新版图?

、 为了进一步拓展汽车业务版图,果链一哥立讯精密再次开启“买买买”模式。 日前,立讯精密发布公告称,计划以5.25亿欧元(约41.3亿元人民币)的价格收购Leoni AG(以下简称“莱尼公司”)50.1%股权…

打卡第五天 P3916 图的遍历

今天是我打卡第五天,做个普及/提高−题吧(#^.^#) 原题链接:图的遍历 - 洛谷 题目描述 给出 N 个点,M 条边的有向图,对于每个点 v,求 A(v)A(v) 表示从点 v 出发,能到达的编号最大的点。 输入格式 第 1 …

Golang反射解说

在Go语言中,反射(Reflection)是一种强大的机制,允许程序在运行时检查、修改和操作变量的类型信息。 反射主要用于处理那些在编译时无法确定类型的情况,比如处理接口类型的值、实现通用的函数等。 Go语言中反射的基本…

OpenAI 旧金山开发者大会发布五大创新功能 实时语音、视觉微调、模型蒸馏

在10月1日的 OpenAI 旧金山开发者大会( DevDay) 上 。OpenAI 公布了五项重大创新,其中“实时 API”(Realtime API)的新功能,使得开发者能够创建具有低延迟、AI 生成的语音响应功能的应用程序。尽管这一功能…

C++ | Leetcode C++题解之第461题汉明距离

题目: 题解: class Solution { public:int hammingDistance(int x, int y) {int s x ^ y, ret 0;while (s) {s & s - 1;ret;}return ret;} };

MySQL 篇-深入了解视图、SQL 优化(主键优化、order by 优化、group by 优化、update 优化等)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 SQL 优化 1.1 SQL 优化 - 插入数据 1.2 SQL 优化 - 主键优化 1.2.1 页分裂 1.2.2 页合并 1.2.3 主键设计原则 1.3 SQL 优化 - order by 优化 1.3.1 单字段排序 1.…

JS设计模式之职责链模式:优雅地处理请求流程

一. 前言 在前端开发中,我们经常会遇到需要按照一定的顺序处理一系列请求或操作的情况,如果将每一步处理都硬编码在一起,会导致代码臃肿,可维护性和可扩展性都会大大降低。而职责链模式恰好提供了一种优雅的解决方案。 无论你是…

Python进阶--正则表达式

目录 1. 基础匹配 2. 元字符匹配 1. 基础匹配 正则表达式,又称规则表达式(Regular Expression),是使用单个字符串来描述、匹配某个句法规则的字符串,常被用来检索、替换那些符合某个模式(规则&#xff…

HyperBDR云容灾“轻装上阵”,露脸魔都写字楼!

回顾今年828,万博智云作为铂金合作伙伴在仪式上惊艳亮相,同时还参与了华为云“云上大咖团”的直播分享,公司明星产品HyperBDR云容灾成功上线了828企业应用一站购平台。就在近日,后续来啦! 一、HyperBDR云容灾楼宇广告…

特斯拉的TTPoE协议到底是啥?比TCP/IP快n倍?真的假的…

号主:老杨丨11年资深网络工程师,更多网工提升干货,请关注公众号:网络工程师俱乐部 上午好,我的网工朋友 最近,在备受瞩目的Hot Chips大会上,特斯拉不仅展示了其最新的DOJO超级计算机项目&#…

叉车AI行人防撞预警系统,提升作业安全与效率

如今,发展飞快的工业蓝海中,叉车作为物流仓储与制造业不可或缺的搬运工具,其安全性一直是行业内外关注的焦点。随着人工智能技术的日益成熟,工业(车辆)叉车AI行人防撞预警系统解决方案应运而生,…

零基础入门AI大模型应用开发,你需要一个系统的学习路径!

前言 随着人工智能技术的迅猛发展,特别是在大型语言模型(LLMs)领域的突破,AI大模型已经成为当今科技领域的热门话题。不论是对于希望转型进入AI行业的职场人士,还是对未来充满憧憬的学生,掌握AI大模型的应…

JS 介绍/书写位置/输入输出语法

目录 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS 的组成 2. JS 书写位置 2.1 内部 JS 2.2 外部 JS 2.3 内联 JS 3. JS 注释和结束符 4. JS 输入输出语法 4.1 输入语法 4.2 输入语句 4.3 执行顺序 5. 字面量 1. JS 介绍 1.1 JS 是什么 1.2 JS 的作用 1.3 JS …

上海AI Lab视频生成大模型书生.筑梦环境搭建推理测试

引子 最近视频生成大模型层出不穷,上海AI Lab推出新一代视频生成大模型 “书生・筑梦 2.0”(Vchitect 2.0)。根据官方介绍,书生・筑梦 2.0 是集文生视频、图生视频、插帧超分、训练系统一体化的视频生成大模型。OK,那就让我们开始吧。 一、模…

国产长芯微LPQ9008菊花链接口的18单元电池监控器完全P2P替代ADBMS1818

描述 LPQ9008是一款多单元电池堆监控器,可测量多达18个串联连接的电池单元,总测量误差小于3.0 mV。LPQ9008具有0 V至5 V的电池测量范围,适合大多数电池化学应用。可在290 μs内测量所有18个电池单元,并选择较低的数据采集速率以便…