Ведение журналов в MSAL для Android

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

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

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

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

Примечание.

Не все уровни журналов доступны для всех пакетов 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);

Следующие шаги

Другие примеры кода можно найти в статье Примеры кода для платформы удостоверений Майкрософт.