我正在以编程方式使用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
任何人都可以为此提出解决方案。
答案 0 :(得分:1)
不要忘记您可以将主机端实用程序与logcat的输出一起使用。我建议使用grep。特别是,使用它的-v / - 反转匹配选项。
adb logcat | grep -v "GC_CONCURRENT\|WAIT_FOR_CONCURRENT_GC" > filename
答案 1 :(得分:-1)
使用标记名称打印特定日志的命令。 *:S
,它不会读取与GC_CONCURRENT freed
和WAIT_FOR_CONCURRENT_GC
语法
adb logcat TAG_NAME:PRIORITY
以下行仅显示包含ActivityManager
,MY_CUSTOM_TAG
..代码
adb logcat ActivityManager:I MY_CUSTOM_TAG:D ANOTHER_CUST_TAG:D *:S
S - 无声(最高优先级,无需打印任何内容)
有关更多信息,请访问官方文档
更新错过了转储到文件。
转储到文件
`adb logcat -d ActivityManager:I MY_CUSTOM_TAG:D ANOTHER_CUST_TAG:D *:S > filename.txt`