android logcat日志chatty模块行到期消息

我得到了很多与我的应用程序相关的这种logcat消息。

11-19 19:04:23.872 3327 3440 I chatty : uid=10085 com.xxxx.yyy expire 18 lines

这些日志消息是什么? 我在这里错过了我的实际应用程序logcat日志?

Solutions Collecting From Web of "android logcat日志chatty模块行到期消息"

是的,这表示有些消息没有被写入实际的日志中,可能是因为其他应用程序发送了太多的消息。

这在Marshmallow(?)的liblog中似乎是一个新东西。 无法find新的日志logging策略的明确解释,或者即使实际上有一个,但是这里提到的变化是:

我们宣布一个应用程序过于健谈,一旦它logging超过5行每秒。 请针对正在生成此开发者详细debugging级别日志垃圾邮件的应用程序所有者提交一个错误。 日志是256KB,这意味着应用程序正在创build一个DOS攻击,并将日志时间缩短到6秒(!)使其对所有其他日志无用。

我想添加另一个答案,因为没有现有的答案实际上回答' 我在这里错过我的实际应用程序logcat日志? ' 题。

是的,你错过了日志。 只要应用程序认为logchack(每秒超过5行)“chatty”,您的应用程序的日志将被折叠。

您可以通过将您的应用列入白名单来避免这种行为:

adb logcat -P '<pid or uid of your app>'

您可以通过执行以下命令打印当前的白名单和黑名单:

adb logcat -p

此命令也有助于打印logcat统计信息:

adb logcat -S

另外,在testing过程中,我发现直接从代码自动将我的应用程序自动列入白名单。

 int pid = android.os.Process.myPid(); String whiteList = "logcat -P '" + pid + "'"; Runtime.getRuntime().exec(whiteList).waitFor(); 

更多信息可以在官方文档中findlogcat 这里

您可以使用以下命令禁用此行为:

 adb logcat -P ""