Enregistrement dans MSAL pour Android

Les applications Microsoft Authentication Library (MSAL) génèrent des messages de journal qui peuvent aider à diagnostiquer les problèmes. Une application peut configurer la journalisation avec quelques lignes de code et avoir un contrôle personnalisé sur le niveau de détail et si les données personnelles et organisationnelles sont enregistrées ou non. Nous vous recommandons de créer une implémentation de journalisation MSAL et de fournir aux utilisateurs un moyen d’envoyer des journaux lorsqu’ils rencontrent des problèmes d’authentification.

Niveaux de journalisation

MSAL fournit plusieurs niveaux de détail de journalisation :

  • LogAlways : aucun filtrage de niveau n’est effectué pour ce niveau de journalisation. Les messages de journalisation de tous les niveaux sont enregistrés.
  • Critique : Journaux qui décrivent un plantage irrécupérable de l’application ou du système, ou une défaillance catastrophique nécessitant une attention immédiate.
  • Erreur : indique qu’un problème s’est produit et qu’une erreur a été générée. Utilisé pour le débogage et l’identification des problèmes.
  • Avertissement : Il n’y a pas nécessairement eu d’erreur ou d’échec, mais il est destiné aux diagnostics et à l’identification des problèmes.
  • Information : MSAL journalise les événements destinés à fournir des informations et pas nécessairement destinés au débogage.
  • Commentaire (par défaut) : MSAL journalise les détails complets du comportement de la bibliothèque.

Note

Tous les niveaux de journalisation ne sont pas disponibles pour tous les SDK MSAL.

Données personnelles et organisationnelles

Par défaut, l’enregistreur d’événements MSAL ne capture pas de données personnelles ou organisationnelles hautement sensibles. La bibliothèque offre la possibilité d’activer la journalisation des données personnelles et organisationnelles si vous décidez de le faire.

Les sections suivantes fournissent plus de détails sur la journalisation des erreurs MSAL pour votre application.

Journalisation dans MSAL pour Android à l’aide de Java

Activez la journalisation lors de la création de l’application en créant un rappel de journalisation. Le rappel prend ces paramètres :

  • tag est une chaîne transmise au rappel par la bibliothèque. Il est associé à l’entrée de journal et peut être utilisé pour trier les messages de journalisation.
  • logLevel vous permet de déterminer le niveau de journalisation souhaité. Les niveaux de journal pris en charge sont les suivants : Error, Warning, Infoet Verbose.
  • message est le contenu de l’entrée de journal.
  • containsPII spécifie si les messages contenant des données personnelles ou des données organisationnelles sont enregistrés. Par défaut, la valeur false est définie pour que votre application ne journale pas les données personnelles. Si containsPII est défini sur true, cette méthode recevra les messages deux fois : une fois avec le paramètre containsPII défini sur false et avec message sans données personnelles, et une seconde fois avec le paramètre containsPii défini sur true et le message peut contenir des données personnelles. Dans certains cas (lorsque le message ne contient pas de données personnelles), le message sera le même.
private StringBuilder mLogs;

mLogs = new StringBuilder();
Logger.getInstance().setExternalLogger(new ILoggerCallback()
{
   @Override
   public void log(String tag, Logger.LogLevel logLevel, String message, boolean containsPII)
   {
      mLogs.append(message).append('\n');
   }
});

Par défaut, l’enregistreur d’événements MSAL ne capture pas d’informations d’identification personnelles ni d’informations d’identification organisationnelles. Pour activer la journalisation des informations d’identification personnelles ou des informations d’identification organisationnelles :

Logger.getInstance().setEnablePII(true);

Pour désactiver la journalisation des données personnelles et des données d’organisation :

Logger.getInstance().setEnablePII(false);

Par défaut, la journalisation à logcat est désactivée. Pour l’activer, procédez comme suit :

Logger.getInstance().setEnableLogcatLog(true);

Étapes suivantes

Pour plus d’exemples de code, reportez-vous à Plateforme d'identités Microsoft exemples de code.