Android logcat 命令行工具

Android logcat 命令行工具

Logcat 是一个命令行工具,用于转储系统消息日志,其中包括设备引发错误时的堆叠追踪以及从您的应用使用 [Log](https://developer.android.com/reference/android/util/Log.html) 类编写的消息。

下表介绍的是 logcat 命令行选项:

修饰符 功能说明
-c 清除(刷新)整个日志并退出。
-d 将日志转储到屏幕并退出。
-f <filename> 将日志消息输出写入 <filename>。默认值为 stdout
-g 打印指定日志缓冲区的大小并退出。
-n <count> 将已旋转日志的最大数量设置为 <count>。默认值为 4。 需要使用 -r 选项。
-r <kbytes> 每输出 <kbytes> 时旋转日志文件。默认值为 16。需要使用 -f 选项。
-s 将默认过滤器规则设为静默式。
-v <format> 设置日志消息的输出格式。默认值为 brief 格式有关支持的格式列表,请参阅控制日志输出格式

控制日志输出格式


除标记和优先级外,日志消息还包含许多元数据字段。您可以修改消息的输出格式,以便它们可显示特定的元数据字段。为此,您可以使用 -v 选项,并指定下面列出的支持的输出格式之一。

  • brief — 显示优先级/标记以及发出消息的进程的 PID(默认格式)。
  • process — 仅显示 PID。
  • tag — 仅显示优先级/标记。
  • raw — 显示原始日志消息,不显示其他元数据字段。
  • time — 显示日期、调用时间、优先级/标记以及发出消息的进程的 PID。
  • threadtime — 显示日期、调用时间、优先级、标记以及发出消息的线程的 PID 和 TID。
  • long — 显示所有元数据字段,并使用空白行分隔消息。
    启动 logcat 时,您可以使用 -v 选项指定您需要的输出格式:
[adb] logcat [-v <format>]

下面的例子展示如何生成 thread 输出格式的消息:

adb logcat -v thread

请注意,使用 -v 选项,您只能指定一个输出格式。

查看备用日志缓冲区


Android 日志系统保留日志消息的多个循环缓冲区,而不是发送到默认循环缓冲区的所有日志消息。如需查看其他日志消息,您可以使用 -b 选项运行 logcat 命令,以请求查看备用循环缓冲区。您可以查看下列备用缓冲区的任意一个:

  • radio — 查看包含无线装置/电话相关消息的缓冲区。
  • events — 查看包含事件相关消息的缓冲区。
  • main — 查看主要日志缓冲区(默认值)
    以下是 -b 选项的用法:
[adb] logcat [-b <buffer>]

以下示例展示如何查看包含无线装置和电话消息的日志缓冲区。

adb logcat -b radio

logcat命令通过xxx.bat脚本抓取手机中产生的日志并存储到指定文件


通过以下xxx.bat脚本示例抓取日志的logcat命令

adb logcat -c
adb logcat -b main -b system -b events -b radio -v threadtime > 文件路径\logcat.txt
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,483评论 0 5
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,453评论 0 9
  • 隐私政策 引言 本游戏非常重视用户的隐私保护,因此制定...
    xpyhhh阅读 144评论 0 0
  • 纽约时间比加州时间早三个小时, New York is 3 hours ahead of California, ...
    Shellmom阅读 269评论 0 0