Как убедить Logcat печатать только ценные данные и предотвратить рвоту бесполезными журналами спама - PullRequest
0 голосов
/ 27 ноября 2018

Я хочу, чтобы мой logcat печатал только те данные, которые я хотел бы видеть , вызывая

Log.i(...)

Однако logcat рвало ВСЕ в мой журнал и я устал от фильтрации информации по бесконечному регулярному выражению или по тегам с каждым разом Я открываю проект.

Есть ли простое и надежное решение дляэто?

Например:

2018-11-27 11:23:11.173 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:11.471 5084-5084/com.platinum D/SQL Log: SQLiteQuery: SELECT * FROM DOG
2018-11-27 11:23:11.941 5084-5084/com.platinum W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@cb53553
2018-11-27 11:23:12.170 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.198 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.237 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.287 5084-5111/com.platinum I/chatty: uid=10085(com.platinum) RenderThread identical 2 lines
2018-11-27 11:23:12.320 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.675 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)

Я не хочу видеть такие журналы, меня не волнует D / EGL_emulation.Я хотел бы видеть только мои журналы, , которые принадлежат разработке моего приложения. Я не хочу видеть какие-либо журналы из ОС Android, или о каких-либо аппаратных функциях, и т. Д.

Заранее спасибо

Ответы [ 6 ]

0 голосов
/ 05 декабря 2018

Не зависит от TAG?

Я также сталкивался с этой проблемой и написал глобальный тег для предоставления моих журналов.

Затем я фильтрую этот тег (в случае Android Studio).

0 голосов
/ 27 ноября 2018

Иногда Android Studio портит фильтр.

Выберите устройство , приложение и уровень журнала снова из трех выпадающих меню и выберите Показать только выбранное приложение также из выпадающего списка слева.enter image description here

0 голосов
/ 27 ноября 2018

Android-студия имеет потрясающую функциональность фильтрации журналов.

Пример, если вам нужен журнал ошибок, вам нужно Log.e., вот несколько примеров и выходное изображение для него.

Log.e("my_tag","this is my error log");
Log.d("my_tag","this is my debug log");
Log.v("my_tag","this is my verbos log");

enter image description here

0 голосов
/ 27 ноября 2018

В дополнение к ответу @JeelVankhede, вы также можете отфильтровать ваш журнал для минимального уровня журнала, чтобы показать: enter image description here

Если вы, например, используете информацию здесь Log.d и Log.v больше не будет отображаться в вашем журнале.

0 голосов
/ 27 ноября 2018

Вам неясно с уровнями журнала , это обозначает эффективность журналов.примите это как приоритет:

т.е.

0 - подробный

1 - отладка

2 - информация

3 - предупреждение

4 - Ошибка

5 - Утверждение

Итак, если вы выберете уровень debug , это означает, что он будет печатать только отладочные и более поздние журналы .


Начните использовать теги в журнале печати, если вы хотите отфильтровать ваш logcat.

Пример. Log.i("your custom tag", "message")

так,теперь вы можете фильтровать с помощью « вашего пользовательского тега ».

0 голосов
/ 27 ноября 2018

фильтр по -> показать только выбранное приложение в правом верхнем углу logcat.

enter image description here

...