android logcat logs chatty module line expire message
Solution 1:
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
Solution 2:
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.
Solution 3:
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
Solution 4:
You can disable this behavior by using:
adb logcat -P ""