从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开发笔记的完整目录