android logcat logs chatty module line expire message

I am getting lots of this kind of logcat messages related to my application.

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

What are these log messages? Am I missing my actual application logcat logs here?

75530 次浏览

Yes, this indicates that some messages did not make it into the actual log, maybe because other application(s) send too many messages into it.

This seem to be a new thing in liblog in Marshmallow(?). Can't find a clear explanation of the new logging policy, or even if there is actually one, but the change is kind of mentioned here :

We declared an application as too chatty once it logs more than 5 lines a second. Please file a bug against the application's owner that is producing this developer-verbose-debug-level class logging spam. The logs are 256KB, that means the application is creating a DOS attack and shortening the logs timepan to 6 seconds(!) making it useless for all others.

You can disable this behavior by using:

adb logcat -P ""

I want to add another answer because none of the existing answers actually answered the 'Am I missing my actual application logcat logs here?' question.

Yes, you're missing the logs. As soon as app considered 'chatty' by logcat (more than 5 lines per second), logs of your app will be collapsed.

You can avoid this behaviour by whitelisting your app for logcat:

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

You can print the current white and black lists by executing:

adb logcat -p

Also this command is helpful to print logcat statistics:

adb logcat -S

Additionally, I found useful to auto-whitelist my app for logcat directly from code during tests:

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

More info can be found in official docs for logcat here

You can disable this behavior by using:

adb logcat -P ""

or by setting

setprop ro.logd.filter disable


setprop persist.logd.filter disable

You can check the code at

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

First execute adb logcat -S to check your application is under Chattiest UID/PID.

If it is there whitelist your application by executing below command

adb logcat -P "UID/PID"

To check all your whitelisted/blacklisted application execute below command

adb logcat -p