【发布时间】:2015-04-20 11:45:38
【问题描述】:
我正在使用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
编辑
我正在使用
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 代码中,您可以使用 String 的 .contains() 方法在那里进行过滤,丢弃任何匹配的行。
标签: android shell adb logcat dalvik