Android开发笔记(一百九十)增强了日志功能的第二版Logcat

news2024/11/20 7:03:11

从Android Studio Dolphin开始,查看应用日志的Logcat全面升级,堪称Logcat 2.0版本。下面就让我们看看LogcatV2.0究竟带来了什么新特性吧。
对于Android Studio的老用户来说,小海豚版本新出的LogcatV2.0在用法上有不小的差异,一开始会让人比较茫然。有些老用户可能更习惯之前的Logcat,可以通过以下办法关闭LogcatV2.0,重新启用旧的Logcat功能。
打开Android Studio,依次选择菜单“File”——“Settings”,在弹出的设置窗口的左侧列表选择最后一项“Experimental”,接着在窗口右边找到Logcat区域,把“Enable new Logcat tool windows”的复选框取消勾选,表示禁用新版的Logcat窗口,设置窗口如下图所示。

 取消勾选之后,不要忘记单击设置窗口右下角的OK按钮,然后重新启动Android Studio,即可在查看应用日志时恢复原来的Logcat窗口。
不过LogcatV2.0毕竟做了不小的改进,还是值得我们好好探索,比如以下三个新特性就非常实用。

1、格式化排版

新版Logcat对日志信息做了类似表格的排版处理,日志内容从左往右依次包括:时间、地点、人物、事件,不同等级的日志文字还用颜色区别开来,看上去就是井井有条的模样。如下图所示。

 其中日志等级从低到高说明如下:

V:表示冗余信息。
D:表示调试信息,可把程序运行时的变量值打印出来,方便跟踪调试。
I:表示一般消息。
W:表示警告信息。
E:表示错误信息,比如可能导致程序崩溃的异常。

2、灵活的过滤语法

新版Logcat只有两类过滤条件,其中窗口顶部左侧的下拉框可选择待调试的设备,右侧的编辑框可输入详细的过滤语句。过滤语句默认是“package:mine”,字面意思是“我的包”,其实就是当前项目下的所有模块。如果当前项目只包含app一个模块,那么Logcat窗口只显示app模块的应用日志;如果当前项目包含二十个模块(从chapter01到chapter20),那么Logcat窗口会显示从chapter01到chapter20总共二十个应用的日志。
根据以上描述可知,package:mine是按照项目级别过滤,不是按照模块级别过滤。如果只想查看某个模块的应用日志,可以采用“package:模块包名”的过滤格式,比如“package:chapter12”表示只查看chapter12模块的应用日志。
除了package标记,还有tag和level两个标记也能过滤日志,其中“tag:标识文字”表示只显示包含指定文字的日志,“level:日志等级”表示只显示指定等级以上的日志。日志等级的过滤情况说明如下:

level:VERBOSE:显示包括VERBOSE在内以上级别的日志,也就是显示所有级别的日志。
level:DEBUG:显示包括DEBUG在内以上级别的日志,也就是显示DEBUG、INFO、WARN、ERROR级别的日志。
level:INFO:显示包括INFO在内以上级别的日志,也就是显示INFO、WARN、ERROR级别的日志。
level:WARN:显示包括WARN在内以上级别的日志,也就是显示WARN、ERROR级别的日志。
level:ERROR:显示包括ERROR在内以上级别的日志,也就是只显示ERROR级别的日志。

package、tag和level三个过滤标记可以分别使用,也可以联合使用。联合使用之时,以空格分隔各标记。比如“package:chapter12 level:WARN”表示只显示chapter12模块中级别在WARN以上的日志内容。
新版Logcat也支持反向选择,也就是在标记前面添加横线“-”,表示把指定条件的日志内容排除在外。比如“-package:chapter12”表示不显示chapter12模块的日志,又如“-tag:Fire”表示不显示包含Fire的日志内容。
新版Logcat还支持正则表达式,也就是在标记后面添加波浪线“~”,表示过滤条件采用了正则表达式。

3、支持多窗口

以前的Logcat只能在一个窗口中显示日志内容,新版的Logcat支持同时打开多个日志窗口。单击Logcat窗口顶部右边的加号按钮,即可开启名叫“Logcat(2)”的新日志窗口。继续单击加号按钮,即可开启名叫“Logcat(3)”的新日志窗口,依此类推。
每个新的日志窗口均可重新定制过滤条件,单击顶部的标签名称,即可自由地在窗口之间切换。如此一来,查看各种维度的日志信息就更加方便快捷了。


点此查看Android开发笔记的完整目录

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

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

相关文章

Fisher卡方全流程汇总

Fisher卡方 卡方检验研究数据的独立性,在分析样本量较少(比如小于40),也或者期望频数出现小于5时,此时使用fisher卡方检验较为适合。SPSSAU医学研究模块中的卡方检验时,有提供2*2即4表格时提供fisher卡方检…

魔方(14)133魔方、一阶鬼魔魔方、双心魔方

目录 133魔方 1,魔方三要素 2,复原方法 一阶鬼魔魔方 1,魔方三要素 2,复原方法 双心魔方 133魔方 1,魔方三要素 (1)组成部件 9个块,1个中心块,4个棱块&#xff…

ZYNQ - 以太网远程更新SD卡应用程序

写在前面 对于ZYNQ系列的板卡固化,可以通过JTAG接口,使用SDK固化到FLASH中,或者可将SD卡取出将SD卡中保存的固化工程进行修改,但在很多情况下,离线更新会很不方便,本文借鉴网上常见的远程更新QSPI FLASH的…

思维导图 制作

PPT e.g: WPS中ppt 新建 文本框一定要 在外框之内。 左键 全选中,就会出来如下。 可直接点居中,就不用浪费time调位置 全选中,右键,【组合】 形成整体,可复制到word中 选择性粘贴到word中 skill: 左键…

《Linux运维总结:Centos7.6源码安装单实例redis6.2.8》

一、部署redis服务 1.1、环境信息 环境信息如下: 主机IP操作系统Redis版本CPU架构192.168.1.191Centos7.66.2.8x86_641.2、二进制方式 1、安装环境依赖 [rootlocalhost ~]# yum -y install gcc2、安装包下载 [rootlocalhost ~]# wget https://download.redis.io…

Linux-线程(LWP)

文章目录线程线程概念进程今天的进程 vs之前的进程私有和共享资源实验验证线程的优点:线程的缺点:线程异常线程的用途:线程控制创建线程(1)先创建两个线程:链接时要引入第三方库。(2)创建多个线程:(3)线程的健壮性不强…

Pandas 替换 NaN 值

替换Pandas DataFram中的 NaN 值 问题 NaN 代表 Not A Number,是表示数据中缺失值的常用方法之一。它是一个特殊的浮点值,不能转换为 float 以外的任何其他类型。NaN 值是数据分析中的主要问题之一。为了得到理想的结果,对 NaN 进行处理是非…

LeetCode刷题复盘笔记—一文搞懂动态规划之53. 最大子数组和问题(动态规划系列第三十五篇)

今日主要总结一下动态规划的一道题目,53. 最大子数组和 题目:53. 最大子数组和 Leetcode题目地址 题目描述: 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素)&#…

成年人的崩溃一触即发,掌握学习能力才能突破认知结界,干货满满!

成年人的崩溃一触即发,掌握学习能力才能突破认知结界! 今年2月份(2022-02),从小红书上购买了知识博主【老明读书】,针对学习能力的讲解分析,真是干货满满!非常感谢老明,…

FPGA项目案例展示

MIPI视频拼接: 在无人机、智能驾驶中,摄像头多达十几路 为解决图像处理芯片(如海思、高通平台)的接口瓶颈 需要将多个摄像头合成一路处理。 SLVS-EC转MIPI SLVS-EC采集,LANE速率可达4.6G MIPI输出,速率2.…

基于ASP.net Mvc的超市管理系统

摘 要 网络的广泛应用给生活带来了十分的便利。所以把天美意超市管理与现在网络相结合,利用net语言建设天美意超市管理系统,实现天美意超市管理的信息化。则对于进一步提高天美意超市发展,丰富天美意超市管理系统能起到不少的促进作用。 天美…

SHELL 脚本练习 一

习题一 :在当前主机编写脚本文件history_max.sh显示主机中执行频率最高的前5个命令 习题二 : 判断主机是否存在rhel用户,如果存在则设置密码为redhat,如果不存在则创建用户 并设置密码 习题三 :通过设置变量HISTTIMEFORMAT&#x…

【小白课程】openKylin系统音频大体框架介绍

在桌面操作系统中,音频是至关重要的一环,音频的稳定支持直接决定了用户的听感以及使用体验,今天我们就给大家介绍openKylin桌面操作系统背后关于音频的那些故事。 先看一张框架图,这张图大致介绍了openKylin操作系统音频的框架组…

动态配置开发模式在转转的落地实践

文章目录一、问题背景1.1 场景概述1.2 风险问题1.3 效率问题二、问题剖析2.1 以往的应对方式2.2 主要矛盾点与问题本质的探索2.2.1 主要矛盾点2.2.2 问题本质的探索三、方案设计3.1 视图展示的标准化3.2 视图构建的自动化3.3 开发体验的沉浸化3.4 整体架构设计四、落地现状五、…

谷粒商城之高级篇

谷粒商城之高级篇 目录谷粒商城之高级篇前言2 商城业务2.1 商品上架2.1.1 商品Mapping2.1.2 上架细节2.1.3 数据一致性2.1.4 代码实现2.2 商城系统首页2.2.1 渲染首页2.2.2 渲染一级分类数据2.2.3 渲染二级三级分类数据2.2.4 nginx 搭建域名访问环境2.3 检索业务2.3.1 页面环境…

Vue3富文本编辑器wangEditor 5使用总结

wangEditor 是一个开源 Web 富文本编辑器,开箱即用,配置简单 官网链接:https://www.wangeditor.com 使用流程: 1.在项目中安装wangEditor 输入以下命令安装 npm install wangeditor/editor --save npm install wangeditor/edi…

React通用后台管理系统-笔记1

环境 node: 16.17.1 npm: 8.15.0 Ant Design of React官网:https://ant.design/docs/react/introduce-cn 一、创建项目 npm init vite Project name: lege-management Select a framework: react Select a variant: react-ts 打开package.json,参考以下…

三、串(字符串)

一、定义及常见术语 串相等:当两个串的长度相等且对应位置上的字符都相同时,这两个串才是相等的 所有的空串都是相等的 二、两种存储结构 2.1顺序存储结构(更常用) #define MAXLEN 255 typedef struct {char ch[MAXLEN1];//存…

Flink Shuffle 3.0: Vision, Roadmap and Progress

摘要:摘要:本文整理自阿里云高级技术专家宋辛童 (五藏),在 FFA 2022 核心技术专场的分享。本篇内容主要分为五个部分:Flink Shuffle 的演进流批融合云原生自适应Shuffle 3.0Tips:点击「阅读原文」查看原文视频&演讲…

Node.js--》模块化、npm与包的讲解与使用

目录 模块化 Node.js中模块的分类 模块作用域 模块的加载机制 npm与包 npm包管理工具的安装与使用 包管理配置文件 包下载速度 包的分类 发布包 模块化 模块化是指解决一个复杂问题时,自顶向下逐层把系统划分成若干模块的过程。对整个系统来说&#xff0…