Filtre Android LogCat pour plusieurs balises dans Eclipse

Clic sur créer un filtre n’a pas pu déterminer à partir de documents comment créer un filtre pour deux balises ou plus. Si j’ai deux balises com.test.TestClassA et com.test.TestClassB comment créer un filtre com.test.TestClassB le journal pour ces deux classes? J’ai vu comment vous pouvez démarrer ADB pour certaines balises seulement, mais comment cela peut-il être fait dans éclipse? S’il vous plaît fournir des détails merci. De quoi ai-je besoin pour saisir la balise lors de la création d’un nouveau filtre dans éclipse?

Comme le souligne Brain Reinhold, vous pouvez combiner des filtres à étiquettes avec des barres verticales | (ce qui signifie évidemment “OU” logique). Vous pouvez également utiliser cette syntaxe (ainsi que d’autres regex) dans la zone de recherche logcat (en faisant précéder les balises avec la tag: prefix):

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 qui sont marqués avec les tags dalvikvm ou AndroidRuntime :

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

Capture d'écran

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

Il est également intéressant de mentionner que vous pouvez rapidement désactiver n’importe quelle partie du filtre en plaçant une barre verticale à la fin de la partie que vous souhaitez désactiver (par exemple, placer | après l’ app:android.process.media|com.android.camera dans l’exemple) ci-dessus désactive effectivement le filtrage par nom d’application tout en préservant le filtrage par balises et texte).

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

Par exemple, lorsque vous cliquez sur + et que vous ouvrez une boîte de dialog pour créer un nouveau filtre, donnez un nom à votre filtre puis, dans l’un des champs (par exemple TAG), entrez com.lampreynetworks|Bluetooth com.lampreynetworks et Bluetooth . Le ‘*’ est implicite ici, comme si une partie quelconque du TAG contient un de ces textes, il sera affiché. Notez également qu’il ne doit y avoir aucun espace entre les barres OU!

Je n’ai pas essayé de combiner «by TAG» et «by (une autre option)» mais d’une certaine manière, j’ai un sentiment qui ne fonctionnera pas .

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 affichant le journal pour ces deux classes?

Le champ “Balise de journal” accepte les expressions régulières Java, faites donc 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, en fonction de ce que vous voulez faire avec ça.

Ce n’est pas possible pour le moment. @ voir http://groups.google.com/group/android-developers/browse_thread/thread/17356ef7bdf1550f?pli=1 Je souhaite aussi que ce soit …

Je le fais juste 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.

La seule façon dont j’ai vu est de Create a Filter using PID afin que chaque message de journal de votre application soit affiché dans ce filtre. Je me demande si cela est possible grâce aux noms de tag dans la version actuelle de l’ ADT pour l’éclipse.

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

Il vous permet de filtrer par le nom de votre package à la place.