Fonctionnalité de journalisation

Utilisation de la fonctionnalité de journalisation dans Android

1. Classe utilitaire de journalisation Android : Log

Android SDK fournit une classe utilitaire de journalisation dédiée android.util.Log, qui propose 5 niveaux de méthodes de journalisation, classés par priorité croissante :

MéthodeNiveauDescription
Log.v()VerboseNiveau le plus bas, utilisé pour les messages de journalisation les plus insignifiants
Log.d()DebugInformations de débogage, les plus utilisées lors du développement
Log.i()InfoMessages d’information généraux
Log.w()WarnMessages d’avertissement, risques potentiels possibles
Log.e()ErrorMessages d’erreur, comme les exceptions capturées dans un bloc catch

2. Utilisation de base

Ajoutez la journalisation dans la méthode onCreate() de MainActivity :

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    // Sortie de journal de niveau Info
    Log.i("foxdevelop", "xxxxxx");
}Langage du code : JavaScript (javascript)

Description des paramètres de la méthode :

ParamètreDescription
Premier paramètre (tag)Tag de journal, généralement une courte chaîne identifiant la source pour faciliter le filtrage
Deuxième paramètre (msg)Contenu du journal, c’est-à-dire le message que vous souhaitez afficher

Après l’exécution du projet, ouvrez la fenêtre Logcat pour voir les journaux de sortie.


3. Astuces pour la fenêtre Logcat

FonctionnalitéOpération
Afficher les journauxAprès l’exécution de l’application, le panneau Logcat en bas s’affiche automatiquement
Recherche par mot-cléSaisissez un mot-clé (ex. : foxdevelop) dans la zone de recherche Logcat pour filtrer
Filtrer par niveauCliquez sur le menu déroulant pour sélectionner Show only selected application / No Filters / Edit Filter Configuration
Filtrer par tagSaisissez tag:foxdevelop dans la zone de recherche

4. Pourquoi System.out.println() est déconseillé

Élément comparéSystem.out.printlnLog
ContrôlabilitéIncontrôlablePeut être contrôlé via les niveaux et les filtres
Informations temporellesAucun horodatageChaque journal inclut un horodatage précis
FiltresImpossible de filtrer par tagPrend en charge le filtrage multidimensionnel par tag, niveau, processus, etc.
Niveaux de journalAucune distinction de niveau5 niveaux pour faciliter le dépannage
Environnement de productionImpossible à désactiverPeut être configuré pour désactiver ou n’afficher que certains niveaux
// Déconseillé
System.out.println("xxxxxxx");

// Recommandé
Log.i(TAG, "Foxdevelop");Langage du code : JavaScript (javascript)

5. Raccourcis de journalisation Android Studio

AS fournit de puissants raccourcis Live Template. Saisissez et appuyez sur Tab pour compléter automatiquement :

Raccourci (saisir et appuyer sur Tab)Code généréDescription
logdLog.d(TAG, "onCreate: ");Génère un journal Debug
logiLog.i(TAG, "onCreate: ");Génère un journal Info
logwLog.w(TAG, "onCreate: ");Génère un journal Warn
logeLog.e(TAG, "onCreate: ");Génère un journal Error
logvLog.v(TAG, "onCreate: ");Génère un journal Verbose
logtprivate static final String TAG = "NomDeClasse";Utilisé dans le corps de la classe, génère automatiquement le nom de la classe actuelle comme TAG

6. Exemple complet

public class MainActivity extends AppCompatActivity {

    // Utilisez logt + Tab dans le corps de la classe pour générer automatiquement
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Sortie du journal en utilisant la constante TAG
        Log.i(TAG, "foxdevelop");
        Log.e(TAG, "Une exception s'est produite ici");

        // Déconseillé
        System.out.println("xxxxxxx");
    }
}Langage du code : PHP (php)

Résultat de la sortie Logcat après exécution :

I/MainActivity: foxdevelop
E/MainActivity: Une exception s'est produite iciLangage du code : HTTP (http)

Fonctionnalité de journalisation

Previous:
Next:

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *