Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
MSAL für iOS- und macOS-Protokollierung – ObjC
Legen Sie einen Rückruf fest, um die MSAL-Protokollierung zu erfassen und in die Protokollierung Ihrer eigenen Anwendung zu integrieren. Die Signatur für den Rückruf sieht wie folgt aus:
/*!
The LogCallback block for the MSAL logger
@param level The level of the log message
@param message The message being logged
@param containsPII If the message might contain Personally Identifiable Information (PII)
this will be true. Log messages possibly containing PII will not be
sent to the callback unless PIllLoggingEnabled is set to YES on the
logger.
*/
typedef void (^MSALLogCallback)(MSALLogLevel level, NSString *message, BOOL containsPII);
Beispiel:
[MSALGlobalConfig.loggerConfig setLogCallback:^(MSALLogLevel level, NSString *message, BOOL containsPII)
{
if (!containsPII)
{
#if DEBUG
// IMPORTANT: MSAL logs may contain sensitive information. Never output MSAL logs with NSLog, or print, directly unless you're running your application in debug mode. If you're writing MSAL logs to file, you must store the file securely.
NSLog(@"MSAL log: %@", message);
#endif
}
}];
Personenbezogene Daten
MsAL erfasst oder protokolliert standardmäßig keine personenbezogenen Daten. Mit der Bibliothek können App-Entwickler dies über eine Eigenschaft in der MSALLogger-Klasse aktivieren. Durch das Aktivieren pii.Enabledübernimmt die App die Verantwortung für die sichere Verarbeitung streng vertraulicher Daten und die Einhaltung gesetzlicher Vorschriften.
// By default, the `MSALLogger` doesn't capture any PII
// PII will be logged
MSALGlobalConfig.loggerConfig.piiEnabled = YES;
// PII will NOT be logged
MSALGlobalConfig.loggerConfig.piiEnabled = NO;
Protokollierungsebenen
Verwenden Sie einen der folgenden Werte, um die Protokollierungsstufe festzulegen, wenn Sie MSAL für iOS und macOS verwenden:
| Grad | Description |
|---|---|
MSALLogLevelNothing |
Alle Protokollierung deaktivieren |
MSALLogLevelError |
Standardebene, druckt Informationen nur dann aus, wenn Fehler auftreten |
MSALLogLevelWarning |
Warnungen |
MSALLogLevelInfo |
Einstiegspunkte der Bibliothek mit Parametern und verschiedenen Schlüsselbund-Operationen |
MSALLogLevelVerbose |
API-Nachverfolgung |
Beispiel:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Protokollnachrichtenformat
Der Nachrichtenteil von MSAL-Protokollnachrichten ist im Format von TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Beispiel:
TID = 551563 MSAL 0.2.0 iOS Sim 12.0 [2018-09-24 00:36:38 - 36764181-EF53-4E4E-B3E5-16FE362CFC44] acquireToken returning with error: (MSALErrorDomain, -42400) User cancelled the authorization session.
Die Bereitstellung von Korrelations-IDs und Zeitstempeln ist hilfreich, um Probleme nachzuverfolgen. Zeitstempel- und Korrelations-ID-Informationen sind in der Protokollmeldung verfügbar. Die einzige zuverlässige Quelle, um sie abzurufen, sind MSAL-Protokollmeldungen.
Nächste Schritte
Weitere Codebeispiele finden Sie unter Microsoft Identity Platform Codebeispiele.