Логирование в MSAL для Android

Приложения Microsoft Authentication Library (MSAL) создают сообщения журнала, которые помогают диагностировать проблемы. Приложение может настроить ведение журнала с несколькими строками кода и иметь пользовательский контроль над уровнем детализации и независимо от того, регистрируются ли персональные и организационные данные. Рекомендуется создать реализацию ведения журнала MSAL и предоставить пользователям способ отправки журналов при наличии проблем с проверкой подлинности.

Уровни ведения журнала

MSAL предоставляет несколько уровней детализации журналирования:

  • LogAlways: фильтрация на этом уровне журнала не выполняется. Будут регистрироваться сообщения всех уровней.
  • Критическое: журналы, описывающие неустранимый сбой приложения или системы, или катастрофический сбой, требующий немедленного внимания.
  • Ошибка: указывает, что что-то пошло не так, и возникла ошибка. Используется для отладки и выявления проблем.
  • Предупреждение: не обязательно произошла ошибка или сбой, но предназначены для диагностики и выявления проблем.
  • Информационный: MSAL регистрирует события, предназначенные для информационных целей, не обязательно предназначенных для отладки.
  • Подробный (по умолчанию): MSAL регистрирует полные сведения о поведении библиотеки.

Note

Не все уровни журналов доступны для всех пакетов SDK MSAL

Персональные и организационные данные

По умолчанию средство ведения журнала MSAL не записывает конфиденциальные персональные или организационные данные. Библиотека предоставляет возможность включить ведение журнала персональных и организационных данных, если вы решите это сделать.

В следующих разделах приведены дополнительные сведения о ведении журнала ошибок MSAL для приложения.

Журналирование в MSAL для Android с помощью Java

Включите ведение журнала при создании приложения, создав обратный вызов ведения журнала. Обратный вызов принимает следующие параметры:

  • tag — строка, передаваемая обратному вызову библиотекой. Он связан с записью журнала и может использоваться для сортировки сообщений журнала.
  • logLevel позволяет решить, какой уровень ведения журнала требуется. Поддерживаемые уровни журнала: Error, Warning, Infoи Verbose.
  • message — это содержимое записи журнала.
  • containsPII указывает, регистрируются ли сообщения, содержащие персональные данные, или данные организации. По умолчанию это значение имеет значение false, чтобы приложение не регистрировать персональные данные. Если containsPII имеет значение true, этот метод будет получать сообщения дважды: один раз с параметром containsPII, установленным в значение false, и message без персональных данных, а второй раз с параметром containsPii, установленным в значение true, и сообщение может содержать персональные данные. В некоторых случаях (если сообщение не содержит персональных данных), сообщение будет одинаковым.
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');
   }
});

По умолчанию средство ведения журнала MSAL не будет записывать личные данные или идентифицируемые сведения организации. Чтобы включить ведение журнала личных идентифицируемых сведений или сведений, доступных для организации:

Logger.getInstance().setEnablePII(true);

Чтобы отключить ведение журнала персональных данных и данных организации, выполните приведенные ниже действия.

Logger.getInstance().setEnablePII(false);

По умолчанию ведение журнала в logcat отключено. Для включения:

Logger.getInstance().setEnableLogcatLog(true);

Дальнейшие действия

Дополнительные примеры кода см. в разделе Примеры кода для платформы Microsoft Identity.