web-dev-qa-db-fra.com

Android Filtre LogCat pour plusieurs balises dans Eclipse

Cliquer sur créer un filtre n'a pas pu déterminer à partir de la documentation comment créer un filtre pour, par exemple, deux balises ou plus. Si j'ai deux balises com.test.TestClassA et com.test.TestClassB comment créer un filtre qui affiche le journal pour ces deux classes? J'ai vu comment vous pouvez démarrer ADB pour seulement certaines balises, mais comment cela peut-il être fait dans Eclipse? Veuillez fournir des détails merci. Que dois-je exactement saisir sur le slogan lors de la création d'un nouveau filtre dans Eclipse?

47
Androider

Comme pointé par Brain Reinhold, vous pouvez combiner des filtres de balises avec une barre verticale | (Ce qui signifie évidemment "OU" logique). Vous pouvez également utiliser cette syntaxe (ainsi que d'autres Regex) dans la zone de recherche logcat (en précédant les balises avec le préfixe tag:):

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

Un filtrage plus complexe est également possible. Par exemple, voici le filtre de recherche qui affiche les messages des applications Android.process.media Ou com.Android.camera, Qui ont au moins un chiffre (\d) Dans le texte du message et sont étiquetés avec dalvikvm ou AndroidRuntime balises:

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

Screenshot

Un filtre court et utile est tag:^(?!dalvikvm) qui supprime tous ces journaux Dalvik bruyants.

Il convient également de mentionner que vous pouvez désactiver rapidement n'importe quelle partie du filtre en plaçant la barre verticale à la fin de la partie que vous souhaitez désactiver (par exemple en plaçant | Juste après app:Android.process.media|com.Android.camera Dans l'exemple ci-dessus de manière efficace désactive le filtrage par nom d'application tout en conservant le filtrage par balises et texte).

54
Idolon

Dans la dernière version du SDK pour Eclipse qui affiche désormais deux versions pour logcat (une obsolète); dans la version non obsolète, on peut combiner des filtres en utilisant OR barres: |.

Par exemple, en cliquant sur le + et en ouvrant une boîte de dialogue pour créer un nouveau filtre, donnez un nom à votre filtre puis dans l'un des champs (par exemple TAG) entrez com.lampreynetworks|Bluetooth et vous verrez la sortie de toutes les balises contenant com.lampreynetworks et Bluetooth. Le "*" est implicite ici, comme si une partie du TAG contient l'un de ces textes, il sera affiché. Notez également qu'il ne doit y avoir aucun espace entre les barres OR!

Je n'ai pas essayé de combiner 'par TAG' et 'par (une autre option)' mais j'ai en quelque sorte le sentiment que pas fonctionnera.

27
Brian Reinhold

Le 12 février à 2h58, AndroidDevTime a écrit:

Si j'ai deux balises com.test.TestClassA et com.test.TestClassB comment créer un filtre qui affiche le journal pour ces deux classes?

Le champ "Log tag" accepte Java expressions régulières, alors faites ceci:

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

qui correspond exactement aux balises que vous avez spécifiées. Vous pourriez être plus économique/efficace/quoi que ce soit avec l'expression régulière, selon combien vous voulez vous en occuper.

9
Rob Cranfill

Je le fais simplement depuis la ligne de commande. Avoir un terminal différent pour chaque filtre adb. Ensuite, si vous les alignez côte à côte, vous pouvez avoir une bonne idée de ce qui se passe.

2
user1631602

Ce n'est pas possible pour le moment. @see http://groups.google.com/group/Android-developers/browse_thread/thread/17356ef7bdf1550f?pli=1 J'aimerais aussi que ce soit ...

2
ekatz

La seule façon que j'ai vue est Create a Filter using PID pour que le message du journal de chaque application s'affiche dans ce filtre. Je me demande si cela est possible grâce aux noms de tag dans la version actuelle du ADT pour Eclipse.

1
Vikas Patidar

Utilisez proclogcat: http://devtcg.blogspot.com/2010/04/logcat-improved.html

Il vous permet plutôt de filtrer par le nom de votre package.

1
alexanderblom