Protokollierung in MSAL für Android

Mit Microsoft Authentication Library-Apps (MSAL-Apps) werden Protokollmeldungen generiert, die Sie beim Diagnostizieren von Problemen unterstützen. Eine App kann die Protokollierung mit wenigen Codezeilen konfigurieren und hat benutzerdefinierte Kontrolle über den Detailgrad und darüber, ob personenbezogene Daten und Organisationsdaten protokolliert werden oder nicht. Es wird empfohlen, eine MSAL-Protokollierungsimplementierung festzulegen und Benutzern eine Möglichkeit zu bieten, Protokolle zu übermitteln, wenn Authentifizierungsprobleme auftreten.

Protokolliergrade

MSAL bietet mehrere Grade für Protokollierungsdetails:

  • LogAlways: Auf dieser Protokollstufe erfolgt keine Ebenenfilterung. Protokollmeldungen aller Protokollstufen werden protokolliert.
  • Critical: Protokolle, die einen nicht behebbaren Anwendungs- oder Systemabsturz bzw. einen schwerwiegenden Fehler beschreiben, der unmittelbare Aufmerksamkeit erfordert.
  • Error: Gibt an, dass ein Problem aufgetreten ist und ein Fehler generiert wurde. Wird zum Debuggen und Identifizieren von Problemen verwendet.
  • Warnung: Es muss nicht unbedingt zu einem Fehler oder Ausfall gekommen sein. Dieser Grad ist für das Diagnostizieren und Ermitteln von Problemen vorgesehen.
  • Informational: MSAL protokolliert Ereignisse, die für Informationszwecke und nicht unbedingt für das Debuggen vorgesehen sind.
  • Verbose (Standard): MSAL protokolliert die vollständigen Details des Bibliotheksverhaltens.

Hinweis

Nicht alle Protokollstufen sind für alle MSAL SDKs verfügbar

Personenbezogene Daten und Organisationsdaten

Die MSAL-Protokollierung erfasst standardmäßig keine streng vertraulichen personenbezogenen Daten oder Organisationsdaten. Die Bibliothek bietet jedoch die Option, die Protokollierung von personenbezogenen Daten und Organisationsdaten zu aktivieren.

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

Protokollierung in MSAL für Android mithilfe von Java

Aktivieren Sie die Protokollierung bei der App-Erstellung durch Erstellen eines Protokollierungsrückrufs. Der Rückruf übernimmt die folgenden Parameter:

  • tag ist eine Zeichenfolge, die von der Bibliothek an den Rückruf übermittelt wird. Sie ist mit dem Protokolleintrag verknüpft und kann zum Sortieren der Protokollmeldungen verwendet werden.
  • Mit logLevel können Sie selbst über die gewünschte Protokollierungsebene entscheiden. Die unterstützten Protokollierungsebenen sind: Error, Warning, Info und Verbose.
  • message ist der Inhalt des Protokolleintrags.
  • containsPII gibt an, ob Nachrichten, die personenbezogene Daten oder Organisationsdaten enthalten, protokolliert werden. Dieser Parameter ist standardmäßig auf „false“ festgelegt, damit Ihre Anwendung keine personenbezogenen Daten protokolliert. Wenn containsPII aber true ist, empfängt diese Methode die Meldung zweimal: einmal mit dem Parameter containsPII auf false festgelegt und message ohne personenbezogene Daten, und ein zweites Mal mit dem Parameter containsPii auf true festgelegt, wobei die Meldung personenbezogene Daten enthalten könnte. In einigen Fällen (wenn die Nachricht keine personenbezogenen Daten enthält) ist die Nachricht dieselbe.
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 werden von der MSAL-Protokollierung keine personenbezogenen Informationen oder identifizierbaren Informationen für die Organisation erfasst. So aktivieren Sie die Protokollierung von personenbezogenen Informationen (PII) und organisationsbezogenen Informationen (OII):

Logger.getInstance().setEnablePII(true);

So deaktivieren Sie die Protokollierung persönlicher Daten und Organisationsdaten:

Logger.getInstance().setEnablePII(false);

Standardmäßig ist die Protokollierung für logcat deaktiviert. Zum Aktivieren:

Logger.getInstance().setEnableLogcatLog(true);

Nächste Schritte

Weitere Codebeispiele finden Sie unter Microsoft Identity Platform-Codebeispiele.