Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
MICROSOFT AUTHENTICATION LIBRARY-apparna (MSAL) genererar loggmeddelanden som kan hjälpa dig att diagnostisera problem. En app kan konfigurera loggning med några rader kod och ha anpassad kontroll över detaljnivån och om personliga data och organisationsdata loggas eller inte. Vi rekommenderar att du skapar en MSAL-loggningsimplementering och tillhandahåller ett sätt för användare att skicka loggar när de har autentiseringsproblem.
Loggningsnivåer
MSAL innehåller flera nivåer av loggningsinformation:
- LogAlways: Ingen nivåfiltrering görs på den här loggnivån. Loggmeddelanden på alla nivåer loggas.
- Kritisk: Loggar som beskriver ett oåterkalleligt program eller en systemkrasch, eller ett oåterkalleligt fel som kräver omedelbar uppmärksamhet.
- Fel: Anger att något har gått fel och att ett fel har genererats. Används för att felsöka och identifiera problem.
- Varning! Det har inte nödvändigtvis inträffat något fel eller haveri, men de är avsedda för diagnostik och för att identifiera problem.
- Information: MSAL loggar händelser som är avsedda för informationsändamål som inte nödvändigtvis är avsedda för felsökning.
- Utförligt (standard): MSAL loggar fullständig information om biblioteksbeteendet.
Note
Alla loggnivåer är inte tillgängliga för alla MSAL SDK:s
Personliga och organisatoriska data
Som standard samlar MSAL-loggaren inte in några mycket känsliga personliga data eller organisationsdata. Biblioteket ger möjlighet att aktivera loggning av personliga data och organisationsdata om du bestämmer dig för att göra det.
Följande avsnitt innehåller mer information om MSAL-felloggning för ditt program.
MSAL för iOS och macOS logging-ObjC
Ange ett återanrop för att fånga upp MSAL-loggning och integrera den med programmets egen loggning. Signaturen för återanropet ser ut så här:
/*!
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);
Ett exempel:
[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
}
}];
Personuppgifter
Som standard samlar MSAL inte in eller loggar inga personuppgifter. Med biblioteket kan apputvecklare aktivera detta via en egenskap i MSALLogger-klassen. Genom att aktivera pii.Enabledtar appen ansvar för att hantera mycket känsliga data på ett säkert sätt och följa regelkrav.
// 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;
Loggningsnivåer
Om du vill ange loggningsnivån när du loggar med MSAL för iOS och macOS använder du något av följande värden:
| Nivå | Description |
|---|---|
MSALLogLevelNothing |
Inaktivera all loggning |
MSALLogLevelError |
Standardnivå, skriver ut information endast när fel inträffar |
MSALLogLevelWarning |
Warnings |
MSALLogLevelInfo |
Biblioteksinmatningspunkter med parametrar och olika nyckelringsåtgärder |
MSALLogLevelVerbose |
API-spårning |
Ett exempel:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Loggmeddelandeformat
Meddelandedelen av MSAL-loggmeddelanden är i formatet TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Ett exempel:
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.
Att tillhandahålla korrelations-ID:er och tidsstämplar är till hjälp för att spåra problem. Tidsstämpel- och korrelations-ID-information finns i loggmeddelandet. Den enda tillförlitliga platsen för att hämta dem är från MSAL-loggningsmeddelanden.
Nästa steg
Fler kodexempel finns i Microsofts identitetsplattform kodexempel.