【1】logcat命令
【1】logcat命令
Logcat 命令行工具
#命令行语法 [adb] logcat [<option>] ... [<filter-spec>] ...
adb shell #或先建立与设备的 shell 连接,然后执行 logcat
###日志过滤
adb logcat ActivityManager:I MyApp:D *:S
adb logcat |grep ActivityManager
###控制日志输出格式
使用 -v 选项,并指定下列某一受支持的输出格式。([adb] logcat [-v <format>])
brief:显示优先级、标记以及发出消息的进程的 PID。
long:显示所有元数据字段,并使用空白行分隔消息。
process:仅显示 PID。
raw:显示不包含其他元数据字段的原始日志消息。
tag:仅显示优先级和标记。
thread::旧版格式,显示优先级、PID 以及发出消息的线程的 TID。
threadtime(默认值):显示日期、调用时间、优先级、标记、PID 以及发出消息的线程的 TID。
time:显示日期、调用时间、优先级、标记以及发出消息的进程的 PID。
请注意,您只能使用 -v 选项指定一种输出格式,但可以指定任意数量的有意义的修饰符。Logcat 会忽略没有意义的修饰符。格式修饰符(如要指定格式修饰符,请使用 -v 选项):
color:使用不同的颜色来显示每个优先级。
descriptive:显示日志缓冲区事件说明。此修饰符仅影响事件日志缓冲区消息,不会对其他非二进制文件缓冲区产生任何影响。事件说明取自 event-log-tags 数据库。
epoch:显示自 1970 年 1 月 1 日以来的时间(以秒为单位)。
monotonic:显示自上次启动以来的时间(以 CPU 秒为单位)。
printable:确保所有二进制日志记录内容都进行了转义。
uid:如果访问控制允许,则显示 UID 或记录的进程的 Android ID。
usec:显示精确到微秒的时间。
UTC:显示 UTC 时间。
year:将年份添加到显示的时间。
zone:将本地时区添加到显示的时间。
- logcat 的命令行选项
选项 | 说明 |
---|---|
-b | 加载可供查看的备用日志缓冲区,例如 events 或 radio。默认使用 main、system 和 crash 缓冲区集。请参阅查看备用日志缓冲区。 |
-c, --clear | 清除(清空)所选的缓冲区并退出。默认缓冲区集为 main、system 和 crash。如需清除所有缓冲区,请使用 -b all -c。 |
-e , --regex= | 只输出日志消息与 匹配的行,其中 是正则表达式。 |
-m , --max-count= | 输出 行后退出。这样是为了与 --regex 配对,但可以独立运行。 |
与 --regex 和 --max-count 配对,使内容绕过正则表达式过滤器,但仍能够在获得适当数量的匹配时停止。 | |
-d | 将日志转储到屏幕并退出。 |
-f | 将日志消息输出写入 。默认值为 stdout。 |
-g, --buffer-size | 输出指定日志缓冲区的大小并退出。 |
-n | 将轮替日志的数量上限设置为 。默认值为 4。需要使用 -r 选项。 |
-r | 每输出 时轮替日志文件。默认值为 16。需要 -f 选项。 |
-s | 相当于过滤器表达式 ‘*:S’;它将所有标记的优先级设为“静默”,并用于放在可添加内容的过滤器表达式列表之前。如需了解详情,请转到介绍过滤日志输出的部分。 |
-v | 设置日志消息的输出格式。默认格式为 threadtime。如需查看支持的格式列表,请参阅介绍控制日志输出格式的部分。 |
-D, --dividers | 输出各个日志缓冲区之间的分隔线。 |
-c | 清空(清除)整个日志并退出。 |
-t | 仅输出最新的行数。此选项包括 -d 功能。 |
-t ‘ | 输出自指定时间以来的最新行。此选项包括 -d 功能。如需了解如何引用带有嵌入空格的参数,请参阅 -P 选项。adb logcat -t ‘01-26 20:52:41.820’ |
-T | 输出自指定时间以来的最新行数。此选项不包括 -d 功能。 |
-T ‘ | 输出自指定时间以来的最新行。此选项不包括 -d 功能。如需了解如何引用带有嵌入空格的参数,请参阅 -P 选项。adb logcat -t ‘01-26 20:52:41.820’ |
-L, --last | 在最后一次重新启动之前转储日志。 |
-B, --binary | 以二进制文件形式输出日志。 |
-S, --statistics | 在输出中包含统计信息,以帮助您识别和定位日志垃圾信息发送者。 |
-G | 设置日志环形缓冲区的大小。可以在结尾处添加 K 或 M,以指示单位为千字节或兆字节。 |
-p, --prune | 输出(读取)当前的允许 (white) 列表和拒绝 (black) 列表,不采用任何参数,如下所示:adb logcat -p |
-P ’ …’ --prune ’ …’ -P ‘<white_and_black_list>’ | 写入(设置)允许 (white) 列表和拒绝 (black) 列表以出于特定目的调整日志记录内容。您可以提供允许 () 列表和拒绝 (~) 列表条目的混合内容,其中 或 可以是 UID、UID/PID 或 /PID。在 logcat 统计信息 (logcat -S) 的指导下,您可以考虑出于各种目的调整允许 (white) 列表和拒绝 (black) 列表 |
–pid= … | 仅输出来自给定 PID 的日志。 |
–wrap | 休眠 2 小时或者当缓冲区即将封装时(两者取其先)。通过提供即将封装唤醒来提高轮询的效率。 |