logcat 是 Android 开发最常用的 debug 方式,记录下常用的命令。
1.清除缓冲区 : logcat -c
2.查看缓冲区大小: logcat -g
3.修改缓冲区大小:logcat -G 10m
有些机器的缓冲区很小,不修改的话,有可能遇到 read: unexpected EOF!
的情况,log 就中断了。
可参考 Android 系统log长度限制_南国樗里疾的博客-CSDN博客_android log 长度
可以修改为指定的大小,可根据需要设置。不要设置太大,太大了 logd 进程占用内存会很高,影响机器性能。
4.抓取指定 TAG 的 log 信息: logcat -s TAG
5.抓取包含指定关键字的 log 信息: logcat | grep TAG
4 和 5 的区别是,
a:Log.d(“TAG”,“msg , good”);
b:Log.d(“TAG”,“exception”);
c:Log.d(“test”,"msg ");
如上 3 条 log 信息,logcat -s tag 可看到 a 和 b 两条信息;
logcat | grep msg 可看到 a 和 c 两条信息。
6.抓取包含多个关键字的 log 信息: logcat | grep -e key1 -e key2 -e key3
这样,包含关键字 key1 、 key2 、key3 关键字的 log 信息都能抓到。
7.抓取异常Exception信息 : logcat *:E
8.抓取带时间信息的 log 信息:logcat -v time
、logcat -v threadtime
9.抓取 log 信息并保存至指定路径:logcat -f data/log.txt
这样会中断终端窗口输入。
10.后台抓取 log 信息并保存至指定路径:logcat -f data/log.log &
也可以组合使用 logcat -v time -f data/log.log &
。
后台抓取,不影响终端窗口输入。
console:/ # logcat -f data/log.log &
[1] 4139
console:/ #
11.后台抓取 log 信息并保存至指定路径:logcat > /data/logcat.txt &
其实和 10 是一样的, >
理解为重定向。