Android LogCat Filter для нескольких тегов в Eclipse - PullRequest
47 голосов
/ 12 февраля 2011

При нажатии на фильтр создания не удалось выяснить из документов, как создать фильтр, скажем, для двух или более тегов. Если у меня есть два тега com.test.TestClassA и com.test.TestClassB, как мне создать фильтр, который показывает журнал для обоих этих классов? Я видел, как вы можете запустить ADB только для определенных тегов, но как это можно сделать в Eclipse? Пожалуйста, предоставьте детали спасибо. Что именно мне нужно ввести в строке тега при создании нового фильтра в eclipse?

Ответы [ 7 ]

54 голосов
/ 28 сентября 2012

Как указал от Brain Reinhold, вы можете комбинировать фильтры тегов с вертикальной чертой | (что, очевидно, означает логическое «ИЛИ»). Вы также можете использовать этот (как и другие Regex) синтаксис в поле поиска logcat (с помощью предшествующих тегов с префиксом tag:):

tag:com.test.TestClassA|com.test.TestClassB

Также возможна более сложная фильтрация. Например, вот поисковый фильтр, который отображает сообщения из приложений android.process.media или com.android.camera, которые имеют по крайней мере одну цифру (\d) в тексте сообщения и помечены тегами dalvikvm или AndroidRuntime:

app:android.process.media|com.android.camera tag:dalvikvm|AndroidRuntime text:\d

Screenshot

Один короткий и полезный фильтр - tag:^(?!dalvikvm), который удаляет все эти шумные журналы Dalvik.

Стоит также отметить, что вы можете быстро отключить любую часть фильтра, поместив вертикальную черту в конец части, которую вы хотите отключить (например, поместив | сразу после app:android.process.media|com.android.camera в приведенном выше примере, эффективно отключает фильтрацию с помощью имя приложения при сохранении фильтрации по тегам и тексту).

27 голосов
/ 20 января 2012

В последней версии SDK для Eclipse, которая теперь показывает две версии для logcat (одна устаревшая); в неподтвержденной версии фильтры можно объединять с помощью баров OR: |.

Например, если щелкнуть + и вызвать диалоговое окно для создания нового фильтра, присвойте своему фильтру имя, а затем в одном из полей (например, TAG) введите com.lampreynetworks|Bluetooth, и вы увидите вывод для все теги, содержащие com.lampreynetworks и Bluetooth. '*' Здесь подразумевается, как будто любая часть TAG содержит какой-либо текст, который будет отображаться. Также обратите внимание, что между барами ИЛИ не должно быть пробелов!

Я не пробовал комбинировать 'by TAG' и 'by (какой-то другой вариант)', но у меня есть ощущение, что не сработает.

9 голосов
/ 15 ноября 2011

12 февраля, 2:58, AndroidDevTime пишет:

Если у меня есть два тега com.test.TestClassA и com.test.TestClassB как мне создать фильтр что показывает журнал для обоих этих классов?

Поле «Журнал тега» принимает регулярные выражения Java, поэтому сделайте следующее:

^ com.test.TestClassA $ | ^ com.test.TestClassB $

, который точно соответствует указанным вами тегам. Вы можете быть более экономичным / эффективным / чем угодно с регулярным выражением, в зависимости от того, сколько вы хотите обойти с этим.

2 голосов
/ 13 ноября 2012

Я просто делаю это из командной строки.Наличие разных терминалов для каждого фильтра ADB.Тогда, если вы расположите их рядом, вы сможете получить хорошее представление о том, что происходит.

2 голосов
/ 05 июля 2011

Это сейчас невозможно.@ смотри http://groups.google.com/group/android-developers/browse_thread/thread/17356ef7bdf1550f?pli=1 Мне бы тоже хотелось ...

1 голос
/ 14 февраля 2011

Использовать proclogcat: http://devtcg.blogspot.com/2010/04/logcat-improved.html

Позволяет фильтровать по имени пакета.

1 голос
/ 12 февраля 2011

Единственный способ, которым я видел, - это Create a Filter using PID, чтобы в этом фильтре отображалось сообщение журнала вашего приложения. Интересно, возможно ли это через tag имена в текущей версии ADT для затмения.

...