Ведение журналов в 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);
Следующие шаги
Другие примеры кода можно найти в статье Примеры кода для платформы удостоверений Майкрософт.