Android adb logcat使用技巧

前言

新买的笔记本E431装了最新版的Eclipse,搞定了Android开发环境,但是logcat里查看东西竟然只显示level,没有错误的详细信息。我本身也不是一个愿意折腾图形界面,更喜欢纯命令行的操作,因此今天在明昊师兄的建议下,果断放弃Eclipse的logcat,投奔adb shell下执行logcat。

adb logcat

Android日志系统提供了logcat命令可以让我们跟踪和查看系统日志缓存区。基本语法如下:

[adb] logcat [<option>]... [<filter-spec>]

可以直接在命令行通过如下命令查看日志输出:

adb logcat

也可以通过adb shell登录到开发机后,直接执行如下命令:

logcat

option选项

我一般使用-s执行tag标签,例如:

高级功能

在rom porting或者其他debug的场合,需要结合过滤功能才能从logcat中获取真正需要的信息,接下来介绍logcat两种过滤实现方法。

过滤

adb logcat提供了附加功能,基于日志优先级来过滤日志。使用语法如下:

adb logcat *:#

其中,#为下列选项之一:

  • V    详细,表示所有可能的日志,默认级别
  • D    调试,表示所有合理的调试日志
  • I      信息,表示正常使用时的日志
  • W   警告,表示可能有问题,但是还没发生错误
  • E    错误,表示有问题,并且导致错误

所有优先级都自动包含比它高的优先级,例如logcat *:I,包含了信息、警告、错误等信息。因此,当应用崩溃时,更应该集合logcat *:E来查看导致错误的原因,必须费力去查看不着边际的调试日志。

grep

对于adb logcat输出的日志内容,我们还可以结合grep实现进一步的过滤操作。例如,我需要搜索错误报告中包含“wangzhengyi”关键词的日志,可以采用如下命令:

adb logcat *:E | grep -i 'wangzhengyi'

Android adb logcat使用技巧

时间: 2024-10-12 12:45:08

Android adb logcat使用技巧的相关文章

Android adb logcat用法详解

1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [plain] view plaincopy [email protected]:~$ adb logcat --help Usage: logcat [options] [filterspecs] options include: -s              Set default filter to silent. Like specifying fil

Android adb logcat输出日志显示不全解决方案

在终端中使用adb logcat打印服务器json数据,如果返回数据过大超过4000字节(4K)即会截断不显示 原因:logcat在对于message的内存分配大概是4k左右.所以超过的内容都直接被丢弃; 解决方案:切分超过4k的message,使用多个Log.i输出 public static void showLog(String str) { str = str.trim(); int index = 0; int maxLength = 4000; String finalString;

android studio 中 adb logcat 在这里敲

官方视频和网络大都没有详细介绍命令行(IDE集成的那个比较容易看到)下 logcat 最初怎么进入,倒是具体用法详细的翻译了官网的文档. 所以记录如下: (1)下面的官网上写了 https://developer.android.com/studio/command-line/logcat.html#Syntax (科学上网) (2)摘要如下: Command-line Syntax [adb] logcat [<option>] ... [<filter-spec>] ... Y

Ubuntu 下 使用 adb logcat 显示 Android 日志

作者 : 万境绝尘  转载请著名出处 eclipse 自带的 LogCat 工具太垃圾了, 开始用 adb logcat 在终端查看日志; 1. 解析 adb logcat 的帮助信息 在命令行中输入 adb logcat --help 命令, 就可以显示该命令的帮助信息; [email protected]:~$ adb logcat --help Usage: logcat [options] [filterspecs] options include: -s Set default fil

我的Android进阶之旅------&gt;Android使用cmd窗口进行adb logcat时出现中文乱码问题的解决办法

今天用CMD命令进行adb logcat时显示一堆的乱码,乱码如下: C:\Users\Administrator>adb logcat -s logcat --------- beginning of /dev/log/system --------- beginning of /dev/log/main D/logcat (10387): Group1 onInterceptTouchEvent瑙﹀彂浜嬩欢锛欰CTION_DOWN D/logcat (10387): Group2 onInt

【android】 adb logcat命令查看并过滤android输出log

cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高: V — 明细 verbose(最低优先级) D — 调试 debug I — 信息 info W — 警告 warn E — 错误 error F — 严重错误 fatal S — 无记载 silent 标记是一个简短的字符串,用于

adb logcat命令查看并过滤android输出log

adb logcat命令查看并过滤android输出log cmd命令行中使用adb logcat命令查看android系统和应用的log,dos窗口按ctrl+c中断输出log记录. logcat日志中的优先级/tag标记: android输出的每一条日志都有一个标记和优先级与其关联. 优先级是下面的字符,顺序是从低到高:V — 明细 verbose(最低优先级)D — 调试 debugI — 信息 infoW — 警告 warnE — 错误 errorF — 严重错误 fatalS — 无记

如何过滤 adb logcat 输出(转载)

转自:http://www.cnblogs.com/imouto/archive/2012/12/11/filtering-adb-logcat-output.html 简介: 本文介绍如何在 shell 命令行中过滤 adb logcat 输出的几个小技巧. 开发当中经常看到别人的 log 如洪水般瞬间刷满了屏幕,对自己有用的信息都被淹没了,影响心情也影响效率.下面是几个我所知道的过滤方法. 1. 只显示需要的输出,白名单 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep

几种在shell命令行中过滤adb logcat输出的方法

我们在Android开发中总能看到程序的log日志内容充满了屏幕,而真正对开发者有意义的信息被淹没在洪流之中,让开发者无所适从,严重影响开发效率.本文就具体介绍几种在shell命令行中过滤adb logcat输出的方法. 1.只显示需要的输出(白名单) 最方便的当然是通过管道使用 grep 过滤了,这样可以使用 grep 强大的正则表达式匹配.简单的匹配一行当中的某个字符串,例如 MyApp: adb logcat | grep MyApp       adb logcat | grep -i