Я считаю, что Logcat - это круглый магазин, и мне интересно, что предел перед перезаписыванием.
Предположительно это означает, что его временной диапазон будет варьироваться в зависимости от использования.
Есть ли способ расширить его емкость?
Я считаю, что Logcat - это круглый магазин, и мне интересно, что предел перед перезаписыванием.
Предположительно это означает, что его временной диапазон будет варьироваться в зависимости от использования.
Есть ли способ расширить его емкость?
Чтобы увидеть размер, используйте -g
$ adb logcat -g
ring buffer is 64Kb (63Kb consumed), max entry is 4096b, max payload is 4076b
Начиная с Android 5.0, Developer Options показывает/позволяет увеличить размер кольцевого буфера.
Как уже упоминалось, вы можете увидеть размер кругового буфера с logcat -g. На моем Galaxy Nexus это 256 КБ:
[email protected]:/ $ 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 и набрать
logcat -f myfile.log
Эта команда перенаправляет записи журнала в файл myfile.log на постоянной основе и не вернется, пока вы не нажмете ctrl-c, чтобы остановить ее. Теперь вернитесь к исходной оболочке adb и введите команду, которую вы хотите записать, и весь ее вывод (более 256 КБ в моем случае) будет сохранен в myfile.log.
Размер буфера определяется ядром, найденным в */drivers/staging/android/logger.c
Какие буферы используются и размер изменился в версиях Android. Android 3.0 и новее также имеют системный буфер, а все четыре - 256 кб. Вы должны перекомпилировать ядро, чтобы изменить его.
Здесь, как изменить емкость буфера журнала в некоторых версиях Android:
adb logcat -G <size>
: установите размер буфера журнала. Можно добавить K или M в конце, чтобы указать килобайты или мегабайты.
(Источник: документация logcat)
Однако в какой версии Android эта опция не указана. Я вижу, что на моем устройстве Android 4.2.2 это не признанный вариант.
Samsung Galaxy S4 (Android 4.3) размер logcat:
Если вам нужно изменить значение с помощью оболочки Android таким образом, чтобы он выдержал перезагрузку, вы можете использовать свойство persist.logd.size
следующим образом:
setprop persist.logd.size 16M
Вам, вероятно, нужно перезагрузиться, чтобы настройки вступили в силу. Это то же свойство, которое изменяется настройками разработчика.