Comment filtrer la sortie logcat d'Android par application ? J'en ai besoin parce que lorsque j'attache un appareil, je ne peux pas trouver la sortie que je veux à cause du spam des autres processus.
Réponses
Trop de publicités?Edit : L'original est ci-dessous. Quand un Android Studio n'existait pas. Mais si vous voulez filtrer sur l'ensemble de votre application, j'utiliserais pidcat pour l'affichage du terminal ou Android Studio. En utilisant pidcat au lieu de logcat alors les tags n'ont pas besoin d'être l'application. Vous pouvez simplement l'appeler avec pidcat com.your.application
Vous devriez utiliser votre propre étiquette, regardez : http://developer.Android.com/reference/Android/util/Log.html
Comme.
Log.d("AlexeysActivity","what you want to log");
Et ensuite, quand vous voulez lire le journal, utilisez>
adb logcat -s AlexeysActivity
Cela permet de filtrer tout ce qui n'utilise pas la même balise.
Selon http://developer.Android.com/tools/debugging/debugging-log.html :
Voici un exemple d'expression de filtre qui supprime tous les messages de journal à l'exception de ceux qui ont l'étiquette "ActivityManager", avec une priorité "Info" ou supérieure, et tous les messages de journal avec l'étiquette "MyApp", avec une priorité "Debug" ou supérieure :
adb logcat ActivityManager:I MyApp:D *:S
Le dernier élément de l'expression ci-dessus, *:S, définit le niveau de priorité de toutes les balises sur "silent", garantissant ainsi que seuls les messages de journal avec "View" et "MyApp" sont affichés.
- V - Verbose (priorité la plus basse)
- D - Débogage
- I - Info
- W - Avertissement
- E - Erreur
- F - Fatal
- S - Silencieux (priorité la plus élevée, sur lequel rien n'est jamais imprimé)
Supposons que votre application nommée MyApp contienne les composants suivants.
- MonActivité1
- MonActivité2
- MonActivité3
- Mon service
Afin de filtrer la sortie de l'enregistrement de votre application MyApp en utilisant logcat, vous devez taper ce qui suit.
adb logcat MyActivity1:v MyActivity2:v MyActivity3:v MyService:v *:s
Cependant, cela vous oblige à connaître les noms TAG de tous les composants de votre application plutôt que de filtrer en utilisant le nom de l'application MyApp. Voir logcat pour les détails.
Une solution pour permettre le filtrage au niveau de l'application serait d'ajouter un préfixe à chacun de vos TAG uniques.
- MonAppActivité1
- MonAppActivité2
- MonAppActivité3
- MonServiceApp
Il est maintenant possible d'effectuer un filtre joker sur la sortie de logcat en utilisant le préfixe TAG.
adb logcat | grep MyApp
Le résultat sera la sortie de l'ensemble de l'application.
Lorsque nous obtenons une erreur de notre application, Logcat affiche automatiquement le filtre de session. Nous pouvons créer un filtre de session par nous-mêmes. Il suffit d'ajouter un nouveau filtre Logcat, de remplir le formulaire de nom de filtre. Ensuite, remplissez le nom de l'application avec votre paquet d'application. (par exemple : mon application est "Adukan" et le paquet est "com.adukan", donc je remplis le nom de l'application avec le paquet "com.adukan").