Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Aplikace Identity a ověřování Microsoftu (MSAL) generují zprávy protokolu, které můžou pomoct s diagnostikou problémů. Aplikace může nakonfigurovat protokolování s několika řádky kódu a mít vlastní kontrolu nad úrovní podrobností a to, jestli se protokolují osobní a organizační data. Doporučujeme vytvořit implementaci protokolování MSAL a poskytnout uživatelům způsob odesílání protokolů, když mají problémy s ověřováním.
Úrovně protokolování
MSAL poskytuje několik úrovní podrobností protokolování:
- LogAlways: Pro tuto úroveň protokolování se neprovádí žádné filtrování podle úrovně. Protokolové zprávy všech úrovní budou zaznamenávány.
- Kritické: Protokoly, které popisují neobnovitelné zhroucení aplikace nebo systému nebo katastrofické selhání, které vyžaduje okamžitou pozornost.
- Chyba: Označuje, že se něco nepovedlo a vygenerovala se chyba. Používá se k ladění a identifikaci problémů.
- Upozornění: Nemusí se nutně jednat o chybu nebo selhání, ale jsou určené pro diagnostiku a určení problémů.
- Informační: MSAL bude protokolovat události určené pro informativní účely, které nemusí být nutně určeny pro ladění.
- Podrobné (výchozí): MSAL zaznamenává do protokolu veškeré podrobnosti o chování knihovny.
Note
Ne všechny úrovně protokolů jsou k dispozici pro všechny sady MSAL SDK.
Osobní a organizační data
Ve výchozím nastavení protokolovací nástroj MSAL nezachytává žádná vysoce citlivá osobní ani organizační data. Knihovna nabízí možnost povolit protokolování osobních a organizačních dat, pokud se tak rozhodnete.
Následující části obsahují další podrobnosti o protokolování chyb MSAL pro vaši aplikaci.
MSAL pro iOS a macOS – protokolování v ObjC
Nastavte zpětné volání pro zaznamenání protokolování MSAL a jeho začlenění do protokolování vlastní aplikace. Podpis zpětného volání vypadá takto:
/*!
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);
Příklad:
[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
}
}];
Osobní údaje
Ve výchozím nastavení MSAL nezachytává ani neprotokoluje žádné osobní údaje. Knihovna umožňuje vývojářům aplikací zapnout tuto funkci prostřednictvím vlastnosti ve třídě MSALLogger. Zapnutím aplikace pii.Enabledpřebírá odpovědnost za bezpečné zpracování vysoce citlivých dat a dodržování zákonných požadavků.
// 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;
Úrovně protokolování
Pokud chcete nastavit úroveň protokolování při protokolování pomocí MSAL pro iOS a macOS, použijte jednu z následujících hodnot:
| Úroveň | Description |
|---|---|
MSALLogLevelNothing |
Zakázání veškerého protokolování |
MSALLogLevelError |
Výchozí úroveň, vytiskne informace pouze v případě, že dojde k chybám. |
MSALLogLevelWarning |
Warnings |
MSALLogLevelInfo |
Vstupní body knihovny s parametry a různými operacemi s klíčenkou |
MSALLogLevelVerbose |
Trasování rozhraní API |
Příklad:
MSALGlobalConfig.loggerConfig.logLevel = MSALLogLevelVerbose;
Formát zprávy protokolu
Část zpráv protokolu MSAL je ve formátu TID = <thread_id> MSAL <sdk_ver> <OS> <OS_ver> [timestamp - correlation_id] message
Příklad:
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.
Poskytnutí ID korelace a časových razítek jsou užitečné pro sledování problémů. Časové razítko a informace o ID korelace jsou k dispozici ve zprávě protokolu. Jediným spolehlivým místem pro jejich načtení jsou zprávy protokolování MSAL.
Další kroky
Další ukázky kódu najdete v článku Ukázky kódu pro platformu Microsoft Identity.