• 8 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 20/12/2021

Personnalisez votre système de gestion de traces

Dans ce chapitre, nous allons apprendre à paramétrer l'affichage des traces et à utiliser les fonctionnalités avancées d'Android Studio. Nous pourrons ainsi modifier les informations à afficher, utiliser de nouvelles couleurs, et gagner du temps en utilisant des raccourcis !

Configurez l'affichage

Gérez les filtres

Il n'est pas toujours facile de s'y retrouver lorsque vous avez des milliers de traces à l'écran. Heureusement, Android Studio a tout prévu : en haut à droite de l'onglet Logcat, vous trouvez quelques champs bien utiles :

Captre d'écran Android Studio : les 4 champs proposés pour filtrer l’affichage sont indiqués par des chiffres. - 1 : recherche par niveau - 2 : Recherche par mot-clé - 3 : recherche complexe - 4 : filtrer les messages
Android Studio propose 4 champs pour filtrer l’affichage

Découvrons ensemble pourquoi utiliser ces 4 filtres !

Recherche par niveau

Le champ 1 permet d'afficher toutes les traces à partir du niveau sélectionné, le niveau le plus faible étant Verbose et le niveau le plus élevé étant Assert. Si vous choisissez Verbose, Android Studio affichera toutes les traces, quel que soit le niveau. Si vous choisissez Info, Android Studio affichera les traces de niveaux Info, Warn, Error et Assert

Recherche par mot-clé

Le champ 2 permet de faire une recherche par mot-clé. Par défaut, la recherche est assez sommaire : les opérateurs logiques ne peuvent pas être utilisés. C'est-à-dire que vous ne pouvez pas taper data OR network, en espérant qu'il vous affiche toutes les lignes qui contiennent soit data soit network.

Recherche complexe

Le champ 3 permet d’ effectuer des recherches plus poussées. Cochez la case Regex et saisissez  une expression régulière (ou expression rationnelle, pour les puristes). Je vous invite d’ailleurs à creuser ce sujet : un bon informaticien sait les utiliser, cela vous sera utile toute votre vie.

Filtrer les messages

Le champ 4 permet de filtrer les messages. Vous pourrez ainsi afficher uniquement les traces provenant de votre application (au lieu des traces générées par toutes les applications). Pour aller plus loin, vous pourrez paramétrer vos propres filtres et les enregistrer, en sélectionnant Edit Filter Configuration.

Sélectionnez les champs à afficher

Si les lignes vous paraissent trop longues, vous pouvez supprimer l'affichage de certains champs. Pour ce faire, toujours dans l'onglet Logcat, cliquez sur le petit engrenage à gauche, au-dessus de l’appareil photo.

Capture d'écran d'Android Studio :  le petit engrenage entouré en vert à gauche de l'écran permet de supprimer l’affichage de certains champs dans l’onglet Logcat.
Cliquez sur le petit engrenage à gauche pour supprimer l’affichage de certains champs dans l’onglet Logcat

Vous pourrez par exemple supprimer l'affichage des identifiants de processus et d'application, afin d'avoir des lignes plus courtes. Dans ce cas, une fenêtre s’ouvrira dans l’interface :

Capture d'écran de la fenêtre
Une fenêtre s’ouvre pour configurer votre affichage

Gérez les couleurs

Par défaut, les traces de niveaux Error et supérieur sont affichées en rouge. C'est un bon indicateur visuel. Mais vous pouvez aller plus loin dans cette configuration. Par exemple, en affichant les traces Info en bleu et Warning en orange.

Capture d'écran d'Android Studio : les traces Info sont affichées en bleu, les traces Warning en orange et les traces Error en rouge
Les traces Info sont affichées en bleu, les traces Warning en orange et les traces Error en rouge

Deux options s’offrent à vous : importer un thème préconfiguré ou vous lancer dans la configuration manuelle.

Pour cette dernière option, rendez-vous dans les préférences d'Android Studio, puis saisissez logcat dans le champ de recherche en haut à gauche. Cliquez ensuite à gauche sur l'entrée Android Logcat. Normalement, elle est sélectionnée par défaut.

Capture d'écran des
Le mode Android Logcat est sélectionné par défaut dans les Préférences d'Android Studio

Suivez maintenant les 5 étapes ci-dessous pour configurer les traces.

Capture d'écran d'Android Studio illustrant les 5 étapes pour configurer les traces. - 1 : sauvegarder le thème actuel - 2 : Sélectionner le niveau de trace - 3 : Décocher la case
Configurez les traces en 5 étapes

1. Sauvegardez le thème actuel en utilisant un thème personnalisé : cliquez sur  Duplicate... dans le menu déroulant :

Capture d'écran : le mode
Sélectionnez Duplicate dans le menu déroulant

Puis entrez le nom de votre thème et cliquez sur Entrée pour sauvegarder.

2. Sélectionnez le niveau de trace qui vous intéresse.

3. Décochez la case Use inherited attributes, pour activer la configuration des couleurs au-dessus.

4. Cochez la case Foreground puis cliquez sur la couleur pour la modifier. Vous pouvez également changer la couleur d'arrière-plan, ajouter des effets, etc. Vous pourrez voir le résultat en temps réel dans la fenêtre du dessous.

5. Pensez à sauvegarder vos modifications puis à les appliquer en cliquant sur Apply puis OK.

Je vous invite à regarder la vidéo ci-dessous pour revoir les différentes étapes de configuration des traces :

Utilisez les raccourcis

Comme nous l'avons vu dans le chapitre précédent, la méthode de trace requiert le paramètre TAG, correspondant au contexte de la trace. Dans la majorité des cas, vous préciserez le nom de la méthode. Sachant que vous allez préciser ce paramètre TAG dans chaque appel de trace, vous allez naturellement créer une variable de classe ; par exemple :

private static final String TAG = "MainActivity";

Ensuite, vous appellerez la méthode de trace de la façon suivante :

Log.d(TAG, "selectTab() called with: pos = [" + pos + "], 
mainMode = [" + mainMode + "]");

Au lieu de passer ma matinée à saisir ces lignes, je me suis reposé sur deux raccourcis bien pratiques : logt (pour log tag) et logm (pour log method). En saisissant juste logt puis  Tabulation  , Android Studio génère la première ligne, en précisant automatiquement le nom de la méthode. En saisissant logm puis  Tabulation  , c'est encore plus fort : Android Studio génère la ligne de trace, en précisant automatiquement le nom de la méthode et la valeur des paramètres.

Vous pouvez consulter les raccourcis disponibles, les modifier ou en créer de nouveaux. Pour cela, rendez-vous dans les préférences d'Android Studio. Saisissez AndroidLog dans le champ de recherche en haut à gauche. Puis déroulez la section correspondante dans la fenêtre de droite.

Capture d'écran d'Android Studio : en haut à gauche, AndroidLog est saisi dans le champ de recherche. Au milieu, AnroidLog est sélectionné dans une liste déroulante.
Saisissez AndroidLog et déroulez la section

Vous remarquerez qu’il y a également des raccourcis disponibles en fonction du niveau de sévérité de votre trace (loge pour un Log.e, logi pour un Log.i…).

Dernière petite astuce : au lieu d'écrire en dur le nom de la classe pour la valeur de la variable TAG, écrivez plutôt :

private static final String TAG = MainActivity.class.getSimpleName();

Ainsi, si vous renommez un jour la classe en utilisant la fonction de renommage d'Android Studio (clic droit sur le nom de la classe, puis Refactor > Rename...), il vous modifiera automatiquement la variable TAG. Un bon exercice pour vous : essayez de modifier le raccourci logt pour qu'il vous génère automatiquement cette ligne !

Utilisez les bons niveaux de trace

Parmi tous les niveaux de trace disponibles, je vous conseille d'éviter d'utiliser les niveaux VERBOSE.

Le niveau VERBOSE porte bien son nom, il est verbeux. Servant à tracer des informations très triviales, il n'a pas vraiment d'intérêt. Nous verrons dans un prochain chapitre comment utiliser les points d'arrêt pour observer la valeur de certaines variables.

Il nous reste donc :

  • le niveau DEBUG, pour les changements mineurs ;

  • le niveau INFO, pour les changements majeurs ;

  • le niveau WARN, pour les anomalies qui ne devraient pas se produire, mais qui sont rattrapables. C'est un indicateur pour le développeur : il doit apporter une correction ;

  • le niveau ERROR pour les erreurs qui peuvent survenir. Une erreur bien gérée peut survenir sans pour autant arrêter l’app. Il est intéressant d’avoir une trace de ces erreurs afin de comprendre pourquoi elles surviennent et comment les éviter au maximum.

De la même manière, au lieu d'utiliser le nom de la classe pour le champ TAG, précisez plutôt la composante d'exécution. Cela permettra d'avoir des traces beaucoup plus lisibles dans de grosses applications. C'est-à-dire :

  • UI : tout ce qui touche à l'interface graphique ;

  • DATA : tout ce qui touche au modèle, aux données ;

  • NETWORK : tout ce qui touche au réseau, au trafic Internet ;

  • APP : tout ce qui touche à la logique métier.

En résumé

  • Les traces du Logcat peuvent être filtrées afin d’afficher uniquement les informations importantes.

  • Les informations affichées et les couleurs peuvent également être paramétrées afin de faciliter la lecture des logs.

  • Vous pouvez utiliser et paramétrer des raccourcis pour écrire des logs plus rapidement.

Maintenant que vous avez configuré votre système de gestion des traces, suivez-moi dans le prochain chapitre pour apprendre à analyser la pile après un plantage !

Exemple de certificat de réussite
Exemple de certificat de réussite