推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

ADB logcat 过滤方法(抓取日志)

更新时间:2023-09-13 13:23:43 大小:14K 上传用户:sun2152查看TA发布的资源 标签:adblogcat 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

1. Log信息级别 Log.v - VERBOSE : 黑色 Log.d - DEBUG : 蓝色 Log.i- INFO : 绿色 Log.w- WARN : 橙色 Log.e- ERROR : 红色 从上而下级别逐次增加 2. 过滤:指定标签,指定级别 adb logcat [TAG:LEVEL ] [TAG:LEVEL ] ... 标签TAG: 在进行log输出时需要指定标签 Log.v("Test", info ); LEVEL: 可以选择:[V D I W E S]中其中一个 TAG:X 的作用为: 输出标签为TAG的log级别大于X的信息. 例如: adb logcat Test:I 输出 Test的I 和I 级别以上的log,包括 i, w, e 注意: (1)可以指定多个[TAG:LEVEL ] (2) level : S 表示为不输出该标签的日志,应为没有大于S级别的日志了 (3) [TAG:LEVEL ] 不会影响其他标签的日志, 所以如果要屏蔽其他log请使用 *:S adb logcat Test:I *:S 3. 采用grep正则表达式过滤 grep 正则表达式参见grep与正则表达式 adb logcat | grep -E '^[VDE]/(TAG1|TAG2)' 4. 在同时输出到屏幕和文件 tee 想要把日志保存到文件,如果采用IO重定向,就无法输出到屏幕, 针对这个问题可以采用 tee命令 adb logcat | grep -E '^[VDE]/(TAG1|TAG2)' | tee 几种在shell命令行中过滤adb logcat输出的方法 我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率。本文就具体介绍几种在shell命令行中过滤adb logcat输出的方法。 1、只显示需要的输出(白名单) 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配。简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat | grep MyApp adb logcat | grep -i myapp #忽略大小写。 adb logcat | grep --color=auto -i myapp #设置匹配字符串颜色。更多设置请查看 grep 帮助。 进阶一点可以使用 grep 的正则表达式匹配。例如上一个例子会匹配一行中任意位置的 MyApp,可以设置为仅匹配 tag。默认的 log 输出如下,如果修改过输出格式相应的表达式也要修改。 I/CacheService( 665): Preparing DiskCache for all thumbnails. 可以看出 tag 是一行开头的第三个字符开始,根据这点写出表达式: adb logcat | grep "^pp" 根据这个格式也可以设置只显示某个优先级的 log,再匹配行首第一个字符即可。例如仅显示 Error 级别 tag 为 MyApp 的输出: adb logcat | grep "^pp" 当然也可以匹配多个,使用 | 分割多个匹配表达式,要加转义符。例如要匹配 tag 为 MyApp 和 MyActivity 的输出:

部分文件列表

文件名 大小
ADB_logcat_过滤方法(抓取日志).docx 14K

【关注B站账户领20积分】

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载