我相信Logcat是一个圆形商店,我想知道它被覆盖之前的限制是什么。
据推测,这意味着它的时间范围会根据用途而有所不同。
有没有办法扩大其容量?
答案 0 :(得分:44)
要查看大小,请使用-g
$ adb logcat -g
ring buffer is 64Kb (63Kb consumed), max entry is 4096b, max payload is 4076b
答案 1 :(得分:34)
答案 2 :(得分:7)
如前所述,您可以使用logcat -g查看循环缓冲区的大小。在我的Galaxy Nexus上,它是256 KB:
shell@android:/ $ logcat -g
/dev/log/main: ring buffer is 256Kb (255Kb consumed), max entry is 4096b, max payload is 4076b
/dev/log/system: ring buffer is 256Kb (0Kb consumed), max entry is 4096b, max payload is 4076b
如果您需要保存比此更长的连续日志,您只需打开一个新的adb shell并输入
logcat -f myfile.log
此命令会持续将日志条目重定向到文件myfile.log,直到您按ctrl-c停止它才会返回。现在回到原来的adb shell并输入你想要记录的命令,它的所有输出(在我的情况下超过256 KB)将保存到myfile.log。
答案 3 :(得分:2)
缓冲区大小由内核决定,可在* / drivers / staging / android / logger.c
中找到使用了哪些缓冲区,并且Android版本的大小已更改。 Android 3.0及更新版本也有一个系统缓冲区,所有四个都是256kb。你必须重新编译内核才能改变它。
答案 4 :(得分:1)
三星Galaxy S4(Android 4.3)logcat大小:
答案 5 :(得分:1)
以下是在某些Android版本上更改日志环缓冲区容量的方法:
adb logcat -G <size>
:设置日志环缓冲区的大小。可以在末尾添加K或M以指示千字节或兆字节。
(资料来源:logcat documentation)
然而,它没有说明这个选项在哪个版本的Android上可用。我在Android 4.2.2设备上看到它不是一个公认的选项。
答案 6 :(得分:0)
如果您需要通过android shell更改值,以使其在重启后仍然有效,则可以使用属性persist.logd.size
,如下所示:
setprop persist.logd.size 16M
您可能需要重新启动才能使设置生效。 这是由开发人员设置更改的属性。