当前位置:  开发笔记 > 编程语言 > 正文

android logcat记录chatty模块行过期消息

如何解决《androidlogcat记录chatty模块行过期消息》经验,为你挑选了4个好方法。

我收到了很多与我的应用程序相关的logcat消息.

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

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



1> 小智..:

是的,这表明某些消息没有进入实际日志,可能是因为其他应用程序向其发送了太多消息.

这似乎是Marshmallow(?)中liblog中的一个新东西.无法找到新的日志记录策略的明确解释,或者即使实际存在一个,但这里提到的更改有点:

一旦它每秒记录超过5行,我们就宣布一个应用程序过于繁琐.请对生成此developer-verbose-debug-level类记录垃圾邮件的应用程序所有者提交错误.日志是256KB,这意味着应用程序正在创建DOS攻击并将日志时间缩短到6秒(!),使其对所有其他人无用.


我在`com.google.android.gms.persistent`中看到了很多...我应该向Google提出错误吗?:-D
另外,我经常看到它说"过期1行"......这太过健谈了怎么样?
我收集日志5-10秒,结果是来自chatty的261个日志条目,所以bug应该被填充因为chatty太健谈了:D
如何在IDE上禁用此功能?
我想知道为特定设备禁用此功能的任何方法吗?

2> Anton Malmy..:

我想添加另一个答案,因为现有的答案都没有实际回答' 我是否错过了我的实际应用程序logcat日志?' 题.

是的,你错过了日志.一旦app被logcat认为是"聊天"(每秒超过5行),你的应用日志就会崩溃.

您可以通过将应用程序列入白名单来避免此行为:

adb logcat -P ''

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

adb logcat -p

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

adb logcat -S

此外,我发现在测试期间直接从代码中自动将我的应用程序用于logcat的白名单:

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

更多信息可以在logcat的官方文档中找到


你的解决方法没有对我有用:(

3> 小智..:

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

adb logcat -P ""



4> nkalra0123..:

您可以使用以下方式禁用此行为:

adb logcat -P ""

或通过设置

setprop ro.logd.filter disable

setprop persist.logd.filter disable 

您可以在以下位置检查代码

http://androidxref.com/7.1.2_r36/xref/system/core/logd/LogWhiteBlackList.cpp

推荐阅读
保佑欣疼你的芯疼
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有