adb logcat 查看日志

使用 logcat 命令
        查看和跟踪系统日志缓冲区的命令logcat的一般用法是:
[adb] logcat [<option>] ... [<filter-spec>] ...


可以在开发机中通过远程shell的方式使用logcat命令查看日志输出:
$ adb logcat

如果是在远程shell中可直接使用命令:
# logcat

过滤日志输出
        每一条日志消息都有一个标记和优先级与其关联。
标记是一个简短的字符串,用于标识原始消息的来源 (例如"View" 来源于显示系统)。
优先级是下面的字符,顺序是从低到高:
V — 明细 (最低优先级)
D — 调试
I — 信息
W — 警告
E — 错误
F — 严重错误
S — 无记载 (最高优先级,没有什么会被记载)
    通过运行logcat ,可以获得一个系统中使用的标记和优先级的列表,观察列表的前两列,给出的格式是<priority>/<tag>。
    这里是一个日志输出的消息,优先级是“I”,标记是“ActivityManager”:
I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}

如果想要减少输出的内容,可以加上过滤器表达式进行限制,过滤器可以限制系统只输出感兴趣的标记-优先级组合。
    过滤器表达式的格式是tag:priority ... ,其中tag是标记, priority是最小的优先级, 该标记标识的所有大于等于指定优先级的消息被写入日志。也可以在一个过滤器表达式中提供多个这样的过滤,它们之间用空格隔开。
    下面给出的例子是仅输出标记为“ActivityManager”并且优先级大于等于“Info”和标记为“MyApp”并且优先级大于等于“Debug”的日志:
adb logcat ActivityManager:I MyApp:D *:S

上述表达式最后的 *:S 用于设置所有标记的日志优先级为S,这样可以确保仅有标记为“View”(译者注:应该为ActivityManager,原文可能是笔误)和“MyApp”的日志被输出,使用 *:S 是可以确保输出符合指定的过滤器设置的一种推荐的方式,这样过滤器就成为了日志输出的“白名单”。
    下面的表达是显示所有优先级大于等于“warning”的日志:
adb logcat *:W


======================
有时候感觉控制台很多东西都看不到,可以在命令行下面执行这命令把日志输出到文件中看...
adb logcat *:V >b.txt

猜你喜欢

转载自iaiai.iteye.com/blog/2275818
今日推荐