Protokollierung in MSAL für Android

Die Microsoft Authentication Library (MSAL)-Apps (MSAL) generieren Protokollmeldungen, die bei der Diagnose von Problemen helfen können. Eine App kann die Protokollierung mit einigen Codezeilen konfigurieren und benutzerdefinierte Kontrolle über die Detailebene und darüber verfügen, ob persönliche und organisatorische Daten protokolliert werden. Es wird empfohlen, eine MSAL-Protokollierungsimplementierung zu erstellen und Benutzern die Möglichkeit zu bieten, Protokolle zu übermitteln, wenn Authentifizierungsprobleme auftreten.

Protokollierungsebenen

MSAL bietet mehrere Ebenen der Protokollierungsdetails:

  • LogAlways: Auf dieser Protokollebene wird keine Ebenenfilterung durchgeführt. Protokollmeldungen aller Ebenen werden protokolliert.
  • Kritisch: Protokolle, die einen nicht wiederherstellbaren Anwendungs- oder Systemabsturz oder einen katastrophalen Ausfall beschreiben, der sofortige Aufmerksamkeit erfordert.
  • Fehler: Gibt an, dass ein Fehler aufgetreten ist und ein Fehler generiert wurde. Wird zum Debuggen und Identifizieren von Problemen verwendet.
  • Warnung: Es muss nicht unbedingt ein Fehler oder Ausfall aufgetreten sein, sondern dies dient der Diagnose und der Eingrenzung von Problemen.
  • Informationen: MSAL protokolliert Ereignisse, die zu Informationszwecken vorgesehen sind und nicht unbedingt für das Debuggen bestimmt sind.
  • Verbose (Standard): MSAL protokolliert die vollständigen Details des Bibliotheksverhaltens.

Note

Nicht alle Protokollierungsebenen sind für alle MSAL-SDKs verfügbar.

Personenbezogene und organisatorische Daten

Standardmäßig erfasst der MSAL-Logger keine streng vertraulichen persönlichen oder organisatorischen Daten. Die Bibliothek bietet die Möglichkeit, die Protokollierung personenbezogener und organisatorischer Daten zu aktivieren, wenn Sie dies tun möchten.

In den folgenden Abschnitten finden Sie weitere Details zur MSAL-Fehlerprotokollierung für Ihre Anwendung.

Anmelden in MSAL für Android mit Java

Aktivieren Sie die Protokollierung bei der App-Erstellung, indem Sie einen Protokollierungsrückruf erstellen. Der Rückruf akzeptiert die folgenden Parameter:

  • tag ist eine Zeichenfolge, die von der Bibliothek an die Callback-Funktion übergeben wird. Sie ist dem Protokolleintrag zugeordnet und kann zum Sortieren von Protokollnachrichten verwendet werden.
  • logLevel ermöglicht es Ihnen, zu entscheiden, welche Protokollierungsebene Sie benötigen. Die unterstützten Protokollierungsebenen sind: Error, Warning, Info und Verbose.
  • message ist der Inhalt des Protokolleintrags.
  • containsPII Gibt an, ob Nachrichten, die personenbezogene Daten enthalten, oder Organisationsdaten protokolliert werden. Standardmäßig ist dies auf "false" festgelegt, sodass Ihre Anwendung keine persönlichen Daten protokolliert. Wenn containsPII auf true gesetzt ist, empfängt diese Methode die Nachrichten zweimal: einmal mit dem auf false gesetzten Parameter containsPII und mit message ohne personenbezogene Daten, und ein zweites Mal mit dem auf true gesetzten Parameter containsPii, wobei die Nachricht personenbezogene Daten enthalten kann. In einigen Fällen (wenn die Nachricht keine personenbezogenen Daten enthält), ist die Nachricht identisch.
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');
   }
});

Standardmäßig erfasst der MSAL-Logger keine personenbezogenen Informationen oder personenbezogene Informationen der Organisation. So aktivieren Sie die Protokollierung personenbezogener Informationen oder organisationsidentifizierbarer Informationen:

Logger.getInstance().setEnablePII(true);

So deaktivieren Sie die Protokollierung personenbezogener Daten und Organisationsdaten:

Logger.getInstance().setEnablePII(false);

Standardmäßig ist die Protokollierung bei Logcat deaktiviert. Zum Aktivieren:

Logger.getInstance().setEnableLogcatLog(true);

Nächste Schritte

Weitere Codebeispiele finden Sie unter Microsoft Identity Platform Codebeispiele.