Journalisation dans MSAL pour Android

Les applications de la Bibliothèque d’authentification Microsoft (MSAL) génèrent des messages de journal qui contribuent à diagnostiquer des problèmes. Une application peut configurer la journalisation avec quelques lignes de code et contrôler de façon personnalisée le niveau de détail, ainsi que permettre de savoir si des données personnelles et d’organisation sont consignées ou non. Nous vous conseillons de créer une implémentation de la journalisation MSAL et de donner aux utilisateurs le moyen d’envoyer les 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é à ce niveau de journal. Les messages de journal de tous les niveaux seront consigné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 est survenu 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 une erreur ou une défaillance, mais l’objectif est d’effectuer un diagnostic et de mettre en avant des problèmes éventuels.
  • 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.

Notes

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

Données personnelles et d’organisation

Par défaut, l’enregistreur d’événements MSAL ne capture pas de données personnelles ou d’organisation hautement sensibles. La bibliothèque permet d’activer la journalisation de données personnelles et d’organisation 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 utilise les paramètres suivants :

  • 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éfinir le niveau de journalisation souhaité. Les niveaux de journalisation pris en charge sont les suivants : Error, Warning, Info et Verbose.
  • message correspond au contenu de l’entrée de journal.
  • containsPII indique si les messages contenant des données personnelles ou organisationnelles sont journalisés. Par défaut, il est défini sur false. Votre application n’enregistre donc pas de données personnelles. Si containsPII a la valeur true, cette méthode reçoit les messages à deux reprises : une fois avec le paramètre containsPII défini sur false et le message sans données personnelles, et une deuxième fois avec le paramètre containsPii défini sur true et le message pouvant contenir des données personnelles. Dans certains cas (lorsque le message ne contient pas de données personnelles), le message doit être 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 les informations personnelles identifiantes ou informations d’identification organisationnelles. Pour activer la journalisation des informations d’identification personnelles et des informations d’identification organisationnelles :

Logger.getInstance().setEnablePII(true);

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

Logger.getInstance().setEnablePII(false);

Par défaut, la journalisation dans logcat est désactivée. Pour activer :

Logger.getInstance().setEnableLogcatLog(true);

Étapes suivantes

Pour obtenir d’autres exemples de code, consultez Exemples de code de la plateforme d’identités Microsoft.