Отладка приложения WebView (Ionic) на Android через logcat

Есть несколько вопросов по теме, однако ни одна из них, похоже, не касается конкретной проблемы, с которой я сталкиваюсь.

Я разрабатываю приложение с помощью Cordova/Ionic, а информация для отладки печати, которую я выводил с помощью console.log() с помощью adb logcat CordovaLog:D *:S, работал очень хорошо до некоторых обновлений. Теперь я не могу понять, как правильно фильтровать вывод logcat, поэтому я могу получить информацию об отладке из своего приложения.

Ведение журнала работает. Если я не буду устанавливать фильтры и перенаправить вывод в файл, я могу просмотреть информацию об отладке среди всех других отладочных сообщений, и она выглядит так:

I/Web Console: Event triggered: device.ready:1

Запись на экран также работает, но со скоростью около 100 строк в секунду. Я пробовал, по крайней мере, следующее для фильтрации вывода:

adb logcat -s "Web Console"
adb logcat "Web Console":V
adb logcat "Web Console":*
adb logcat -s Web
adb logcat Web:V
adb logcat "myApp":V
adb logcat myApp:V
adb logcat -s myApp

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

Я нахожусь в Windows, поэтому я не могу grep, и устройство, от которого я отлаживаю, работает под управлением Android 4.2.2, поэтому я не могу использовать GapDebug, и ни один из них не может быть доступен для доступа к журнал устройства через chrome://inspect в Chrome.

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

Ответ 1

Кажется, что logcat не может правильно анализировать имена тегов пробелами. Поэтому вместо этого я предлагаю использовать grep на устройстве:

adb shell "logcat | grep 'Web Console'"

Ответ 2

Альтернативно при запуске adb на linux или unix на основе os/ git bash:

adb logcat | grep 'Web Console'

Ответ 3

Пока вы можете использовать grep под Linux/Unix, findstr может быть вашим выбором под Windows:

adb logcat | findstr /C:"Web Console"

Если вы предпочитаете использовать grep под Windows, вы можете получить его из http://gnuwin32.sourceforge.net/packages/grep.htm.

Ответ 4

Что работает для меня в 2019 году:

adb -d logcat chromium:I *:S

-d указывает на физическое устройство в моем случае. Если adb logcat результаты adb logcat в текстовый файл и выполните поиск по запросу "CONSOLE", что даст вам провайдера для вашего фильтра logcat. Кажется, это меняется со временем и в зависимости от вашей конкретной среды разработки.