Я использую команду adb shell logcat -v time filename
программно для хранения журналов в файл на устройстве Android.Фильтровать журнал по тексту?
Существует несколько внутренних журналов для операций выделения памяти, которые хранятся в теге «dalvikvm». (См. Журналы ниже). У меня нет проблем с этими журналами, но из-за этих журналов файл журнала становится тяжелее. Так что моя забота сводится к журналам, которые содержат GC_CONCURRENT freed
или WAIT_FOR_CONCURRENT_GC
текст.
Я также пытался сократить журналы с помощью его тега, но он удаляет все журналы, связанные с этим тегом. Я не хочу терять нужные теги под тем же именем тега. Мне просто не нужны журналы, в которых есть GC_CONCURRENT freed
или WAIT_FOR_CONCURRENT_GC
текст.
Есть ли способ или любая команда adb для решения этой проблемы. Заранее спасибо.
04-18 01:02:53.644: D/dalvikvm(4302): GC_CONCURRENT freed 511K, 21% free 4106K/5192K, paused 5ms+1ms, total 19ms
04-18 01:02:53.644: D/dalvikvm(4302): WAIT_FOR_CONCURRENT_GC blocked 6ms
04-18 01:02:53.684: D/dalvikvm(4302): GC_CONCURRENT freed 512K, 21% free 4106K/5192K, paused 1ms+1ms, total 15ms
04-18 01:02:53.684: D/dalvikvm(4302): WAIT_FOR_CONCURRENT_GC blocked 6ms
04-18 01:02:53.724: D/dalvikvm(4302): GC_CONCURRENT freed 512K, 21% free 4106K/5192K, paused 2ms+1ms, total 16ms
04-18 01:02:53.724: D/dalvikvm(4302): WAIT_FOR_CONCURRENT_GC blocked 6ms
04-18 01:02:53.764: D/dalvikvm(4302): GC_CONCURRENT freed 512K, 21% free 4106K/5192K, paused 1ms+1ms, total 16ms
04-18 01:02:53.764: D/dalvikvm(4302): WAIT_FOR_CONCURRENT_GC blocked 7ms
EDIT
Я использую adb shell logcat -v time | grep -v \"GC_CONCURRENT\\|WAIT_FOR_CONCURRENT_GC\" > " + filename
команду. Он работал, когда я дал filename
в качестве локального пути моего компьютера. Но когда я пробовал то же самое с устройством Android /data/data/packagename/filename.txt
, он не работал. В нем говорится, что bash: /data/data/packagename/filename.txt : No such file or directory
Может ли кто-нибудь предложить решение для этого.
У последних выпусков есть 'grep', который * может * (или не может?) Быть достаточно полным, чтобы делать отрицательные совпадения с -v и принимать несколько строк с \ | - т.е. grep -v "CG_CONCURRENT \ | CONCURRENT_GC".Но если вы в любом случае захватываете Java-код, вы можете просто сделать свою фильтрацию там с помощью метода .contains() String, отбрасывая любую строку, которая соответствует. –
plz см. Править ... –