有没有办法阻止ADB记录某些来源的呼叫,而不是仅仅将它们过滤掉?

有没有办法阻止ADB记录某些来源的呼叫,而不是仅仅将它们过滤掉?

问题描述:

我试图调试在银河S7的应用程序,这几乎是不可能的,因为该设备修建垃圾相同的日志调用数十万次获得有用的日志在几秒钟:有没有办法阻止ADB记录某些来源的呼叫,而不是仅仅将它们过滤掉?

07-31 10:49:33.962: D/NetworkStatsCollection(3838): getHistory:mUID 10158 isVideoCallUID: false 

这在我可以读取它们或者甚至复制并粘贴它们之前,将有用的日志调用从日志堆栈中推出。
我在过去的Android设备上使用了多年的过滤器,只能看到与我相关的调用,但问题是,这似乎只能控制Monitor中显示的内容,而不是限制实际上是作为日志处理的呼叫。

是否可以完全阻止某些呼叫?

您是否尝试logcat的下一个设置?

Screenshot

+0

我在监视器的任何位置都看不到该选项。当我连接此设备时,它也不显示我以前的设备所运行的应用程序列表。作为解决此问题的一种解决方法,我已经从使用Monitor更改为仅在shell中调用adb,并且消除了不相关的日志: adb logcat myTag:V System.err:V *:S – TheBestBigAl

使用logcat --prune命令设置的过程白名单和黑名单。

https://developer.android.com/studio/command-line/logcat.html

您提供的<white>~<black>列表中的条目,其中混合内容,也可以是一个UID,UID/PID或/ PID。根据logcat统计信息(logcat -S)的指导,可以考虑对白名单和黑名单进行调整,其目的如下: 通过UID选择为特定的日志记录内容提供最长的寿命。 黑名单谁(UID)或什么(PID)正在使用这些资源来帮助增加logspan,以便您可以更清楚地了解正在诊断的问题。 默认情况下,日志记录系统会自动将日志统计中最坏的违规者动态列入黑名单,以便为新日志消息留出空间。一旦它已经用尽了启发式,系统会修剪最旧的条目以为新消息留出空间。

添加白名单可保护您的Android识别码(AID),从而将流程的AID和GID宣布为违规者,并添加黑名单有助于释放空间,然后再考虑最差的违规者。您可以选择修剪的活动方式,并且您可以关闭修剪功能,以便仅删除每个日志缓冲区中最旧条目的内容。