Logcat的大小限制是多less,如何改变它的容量?

我相信Logcat是一个循环商店,我不知道覆盖之前的限制是什么。

据推测,这意味着其时间范围将根据使用情况而有所不同。

有什么办法来扩大它的容量?

要看大小使用-g

$ adb logcat -g ring buffer is 64Kb (63Kb consumed), max entry is 4096b, max payload is 4076b 

从Android 5.0开始,Developer Options显示/允许增加环形缓冲区的大小。

开发者选项ScreenShot

如前所述,您可以使用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并input

 logcat -f myfile.log 

此命令持续将日志条目redirect到文件myfile.log,直到按下ctrl-c来停止它才会返回。 现在回到原来的adb shell并键入你想要logging的命令,并且所有的输出(在我的情况下超过256 KB)将被保存到myfile.log中。

缓冲区大小由内核决定,可在* / drivers / staging / android / logger.c中find

Android版本使用哪些缓冲区,大小已更改。 Android 3.0和更新版本也有一个系统缓冲区,四个都是256kb。 你必须重新编译内核来改变它。

三星Galaxy S4(Android 4.3)logcat大小:

  • 主要:1 MB
  • 系统:512 KB

要回答问题的未答复部分,请参阅如何更改日志环缓冲区的容量:

adb logcat -G <size> :设置日志环缓冲区的大小。 可以在末尾添加K或M来表示千字节或兆字节。

(来源: logcat文档 )

但是,它并没有说在这个选项可用的Android版本。 我看到在我的Android 4.2.2设备上,这不是一个公认的select。