Eclipse下Logcat显示Android日志攻略一

在开发Android应用程序时,经常要用到日志查看工具Logcat。Logcat工具内置在Android系统中,可以通过Eclipse的窗口或主机上的adb logcat命令来查看运行在模拟机/真机上的日志。关于Logcat的学习,我把它分成了两部分内容:一部分是如何使用,分为在GUI界面下的使用和直接使用adb logcat;另一部分是Logcat源代码简要分析。本文将重点介绍如何使用Logcat。


怎样过滤日志?

没有过滤的Logcat,All message(no filters)显示的信息如下:

LevelTimePIDTIDApplicationTagText
日志级别时间进程id线程id应用程序名(包名)过滤标签输出信息

-

方案 I. 定制日志过滤器

可以选择日志级别,也可以设置过滤标签,例如在by Log Tag中输入正则表达式:

^(?!.*(MyTag)).*$

MyTag表示需要过滤的Tag黑名单,例如:

^(?!.*(System.err|dalvik|MyTag1|Mytag2|…|MyTagn)).*$

这里写图片描述

方案 II. 在Logcat窗口过滤

直接在Logcat窗口的Search for message栏输入正则表达式,MyTag表示需要过滤的Tag黑名单:

tag:^(?!.*(MyTag1|MyTag2|…|MyTagn)).*$

方案 III. 使用adb logcat

最简单的就是使用adb通过管道使用grep过滤,通过grep强大的正则表达式匹配某段字符串,例如:

adb logcat | grep MyFilterInfo

MyFilterInfo是需要过滤的log白名单(和Tag黑名单不同,log白名单可以过滤所有栏而不仅仅是Tag栏)


怎样保存日志?

和过滤日志一样,保存也分为Eclipse下使用Logcat窗口和直接使用adb logcat指令

方案 I. (Eclipse下)选中要保存的日志并点击保存按钮

方案 II. adb logcat

该方法是阻塞的,即只要不关闭adb,MyLog文件中的日志就会实时更新并保存。查看文件可以通过Mac下的控制台.app。

adb logcat > MyLog

在交互式的shell环境下保存日志,方法非阻塞,日志也可以通过文本编辑.app查看,所以也可以保存成MyLog.txt

adb shell logcat > MyLog

以上方法,日志的保存路径都可以自定义,例如

adb logcat > /Users/Elsa/Eclipse/MyLog

adb logcat 还有更多强大的功能,例如设置日志输出格式、清空日志缓存、输出最近日志、过滤指定标签/等级日志等。Ubuntu下使用adb logcat显示Android日志 一文给出了许多用法示例,想深入学习的话可以参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值