2010-10-28 2 views
20

Существует текстовый фильтр «Фильтр» под выходом LogCat. Однако он, кажется, фильтрует только столбец Message. Id нравится фильтровать теги. Потому что есть мои имена классов.Фильтровать теги в LogCat (в Android Eclipse Plug-in)

Как я могу это достичь?

+0

Я не в состоянии проверить данный ответ (ы) больше, так как я прекратил разработки Android Apps. Пожалуйста, предложите, если я должен отметить ответ, если вы его протестировали и соответствовали требованиям моего вопроса. – OneWorld

ответ

33

В окне всплывающего окна есть кнопка, которая выглядит как зеленый + в правом верхнем углу окна журнала. Если вы нажмете над ним, появится надпись «Создать фильтр», из которой вы можете фильтровать по тегу журнала. Он создает новую вкладку в log cat с указанным вами именем фильтра. Затем все выходные данные этого тега перейдут на эту вкладку, а не на вкладку «Журнал».

+4

Невозможно использовать подстановочные знаки, такие как «com.mynamespace. *»; (Но спасибо, что показал мне эту функцию;) – OneWorld

+1

Мне очень хотелось бы иметь возможность использовать подстановочные знаки здесь. –

+0

нет необходимости в подстановочных знаках, см. Мой ответ ниже – auval

3

Запустить logcat в оболочке и пропустить ее через grep.

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

+0

Не могли бы вы предоставить команды, как его проложить в оболочке? Извините, я вырос с ОС с помощью графического интерфейса и не имею понятия об этом ... – OneWorld

+1

adb logcat | grep someNameOfInterest вы также можете использовать флаг -i, чтобы сделать регистр нечувствительным. О, и вам нужно _have_ grep, т. Е. Быть в Linux или unix или cygwin или msys или иметь исполняемый файл grep для вашей ОС. –

1

это должно быть одинаковым на всех платформах, но я специально делаю это на Mac снежного барса, Гелиос ....

с последним затмением и андроид плагин, перейдите в окно -> показать вид - > Android -> LogCat

затем в правом верхнем углу зрения есть кнопки фильтра: «V» «D» «Я» «W» «E», то + редактировать и -

нажмите на + и введите ваш тег или pid

профиль отфильтрованный logCat

4

Образец из ADB manual:

ADB LogCat ActivityManager: Я MYAPP: D *: S

*:S имеет жизненно важное значение, так как это будет подавлять другие теги, отличные от тех, что указаны нами ,

К сожалению, нельзя использовать подстановочные знаки в именах, т.е .:

ADB LogCat ActivityManager: Я MYAPP *: D *: S

не будет работать.

13

Log tag поля принимает Java регулярных выражений, поэтому попробуйте следующее:

^TAG_A$|^TAG_B$ 

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

+0

Woah great, я этого никогда не замечал. Добро пожаловать в StackOverflow! – 2011-11-15 17:11:14

+0

Это похоже на работу только в ADT, поскольку, если я использую его программно (Runtime.getRuntime(). Exec ("logcat [

4

При фильтрации вы не должны использовать пробелы после «тега:», и все они чувствительны к регистру.Например:

tag:MIRKO 

и не

TAG: mirko 
19

В Eclipse, если я хотел бы исключить эти надоедливые Хореограф сообщения, я пишу этот фильтр в LogCat фильтра TextField: tag:^(?!Choreographer).*$ и исключает все сообщения, которые тег начинается с текстом Choreographer

Если вы хотите использовать несколько исключений: tag:^(?!Choreographer|dalvikvm-heap|Trace).*$

5

Старый вопрос, но все же актуальный, и не видел ответа среди ответов здесь.

Для фильтрации по нескольким столбцам в LogCat TextField, просто использовать space между регулярными выражениями и заголовок столбца в нижнем регистре, а затем : присвоить регулярное выражение для этого столбца вместо значения по умолчанию "text:"

для пример:

tag:wif text:event 

пространство '' используется в качестве И аргумент
один '.'без места ИЛИ.

Относительно одного из комментариев, которые я видел здесь - нет необходимости в шаблоне, поскольку он автоматически применяется до и после текста фильтра.
Если вы не хотите подстановочный знак, вы можете использовать синтаксис регулярных выражений, чтобы ограничить строку.
, например: ^starswith или fullword$

СОВЕТ:, если вы хотите, чтобы соответствовать пробел или вкладку в вашем выводе, просто введите: \s в нужном месте.

+1

спасибо за подсказку с пробелом \ s, что именно то, что я искал – peedee

1

В текстовом поле поиска LogCat вы увидите текст подсказки «Поиск сообщений, принятие регулярных выражений Java, префикс с помощью pid :, app :, tag: или text: для ограничения области».

Так просто введите тег: YOUR_TAG_NAME

Смежные вопросы