Protokolování v MSAL pro Android

Aplikace Microsoft Authentication Library (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: Na této úrovni protokolu není provedeno žádné filtrování na úrovni. Protokolují se zprávy protokolu všech úrovní.
  • Kritické: Protokoly, které popisují neopravitelnou aplikaci nebo systémovou chybu 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 zaprokoluje úplné podrobnosti o chování knihovny.

Poznámka:

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.

Protokolování v MSAL pro Android pomocí Javy

Zapněte protokolování při vytváření aplikace vytvořením zpětného volání protokolování. Zpětné volání přebírá tyto parametry:

  • tag je řetězec předaný zpětnému volání knihovnou. Je přidružen k položce protokolu a dá se použít k řazení zpráv protokolování.
  • logLevel umožňuje rozhodnout, jakou úroveň protokolování chcete. Podporované úrovně protokolů jsou: Error, Warning, Infoa Verbose.
  • message je obsah položky protokolu.
  • containsPII určuje, jestli se protokolují zprávy obsahující osobní údaje nebo data organizace. Ve výchozím nastavení je tato hodnota nastavená na false, aby vaše aplikace neukládala osobní údaje. Pokud containsPII ano true, tato metoda obdrží zprávy dvakrát: jednou s containsPII parametrem nastaveným false na a message bez osobních údajů, a druhý čas s containsPii parametrem nastaveným true na a zpráva může obsahovat osobní údaje. V některých případech (pokud zpráva neobsahuje osobní údaje), bude zpráva stejná.
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');
   }
});

Ve výchozím nastavení protokolovací nástroj MSAL nezachytí žádné osobní identifikovatelné informace ani identifikovatelné informace organizace. Povolení protokolování identifikovatelných osobních údajů nebo identifikovatelných informací organizace:

Logger.getInstance().setEnablePII(true);

Zakázání protokolování osobních údajů a dat organizace:

Logger.getInstance().setEnablePII(false);

Ve výchozím nastavení je protokolování do logcat zakázané. Povolíte ji takto:

Logger.getInstance().setEnableLogcatLog(true);

Další kroky

Další ukázky kódu najdete v ukázkách kódu platformy Microsoft Identity Platform.