Подтвердить что ты не робот

Android logcat logs сообщение об истечении срока действия модуля

Я получаю много таких сообщений logcat, связанных с моим приложением.

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

Что это за сообщения журнала? Я пропустил здесь свои журналы регистрации logcat?

4b9b3361

Ответ 1

Да, это означает, что некоторые сообщения не попадают в фактический журнал, возможно, потому, что другие приложения отправляют в него слишком много сообщений.

Это похоже на новую вещь в liblog в Marshmallow (?). Невозможно найти четкое объяснение новой политики ведения журнала или даже если она есть на самом деле, но изменение называется здесь:

Мы объявили приложение слишком частым после того, как оно зарегистрировало более 5 строка вторая. Пожалуйста, сообщите об ошибке владельцу приложения, который создает этот спам-класс класса-разработчика-отладочного уровня. Журналы 256 КБ, это означает, что приложение создает атаку DOS и сокращая время регистрации до 6 секунд (!), делая его бесполезным для всех остальных.

Ответ 2

Я хочу добавить еще один ответ, потому что ни один из существующих ответов на самом деле не ответил на вопрос: "Я пропустил мои фактические журналы регистрации logcat здесь?" вопрос.

Да, вам не хватает журналов. Как только приложение рассмотрит "chatty" по logcat (более 5 строк в секунду), журналы вашего приложения будут свернуты.

Вы можете избежать этого поведения, указав свое приложение для logcat:

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

Вы можете распечатать текущий белый и черный списки, выполнив:

adb logcat -p

Также эта команда полезна для печати статистики logcat:

adb logcat -S

Кроме того, мне было полезно использовать auto-whitelist мое приложение для logcat непосредственно из кода во время тестов:

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

Дополнительную информацию можно найти в официальных документах для logcat здесь

Ответ 3

Вы можете отключить это поведение, используя:

adb logcat -P ""

Ответ 5

вышеуказанные решения не работают для меня. Я добавил pid своего приложения в белый список, используя logcat -P. Я также проверил "logcat -P". Но все равно это не работает.