MSAL(Microsoft 인증 라이브러리) 앱은 문제를 진단하는 데 도움이 되는 로그 메시지를 생성합니다. 앱은 몇 줄의 코드로 로깅을 구성하고 세부 수준 및 개인 및 조직 데이터 로깅 여부를 사용자 지정 제어할 수 있습니다. MSAL 로깅 구현을 만들고 사용자가 인증 문제가 있을 때 로그를 제출할 수 있는 방법을 제공하는 것이 좋습니다.
로깅 수준
MSAL은 다음과 같은 여러 수준의 로깅 세부 정보를 제공합니다.
- LogAlways: 이 로그 수준에서는 수준 필터링이 수행되지 않습니다. 모든 수준의 로그 메시지가 기록됩니다.
- 중요: 복구할 수 없는 애플리케이션 또는 시스템 충돌 또는 즉각적인 주의가 필요한 치명적인 오류를 설명하는 로그입니다.
- 오류: 문제가 발생하여 오류가 발생했음을 나타냅니다. 문제를 디버깅하고 식별하는 데 사용됩니다.
- 경고: 반드시 오류 또는 오류가 발생한 것은 아니지만 진단 및 문제를 정확히 파악하기 위한 것입니다.
- 정보: MSAL은 반드시 디버깅을 위한 것이 아니라 정보 제공을 위한 이벤트를 기록합니다.
- 상세(기본값): MSAL은 라이브러리 동작의 모든 세부 정보를 기록합니다.
메모
모든 MSAL SDK에 대해 모든 로그 수준을 사용할 수 있는 것은 아닙니다.
개인 및 조직 데이터
기본적으로 MSAL 로거는 매우 중요한 개인 또는 조직 데이터를 캡처하지 않습니다. 라이브러리는 사용자가 원할 경우 개인 및 조직 데이터의 로깅을 활성화할 수 있는 옵션을 제공합니다.
다음 섹션에서는 애플리케이션에 대한 MSAL 오류 로깅에 대한 자세한 내용을 제공합니다.
Java 사용하여 Android용 MSAL에서 로깅
로깅 콜백을 만들어 앱 생성 시 로깅을 켭니다. 콜백은 다음 매개 변수를 사용합니다.
-
tag은 라이브러리에 의해 콜백에 전달되는 문자열입니다. 로그 항목과 연결되며 로깅 메시지를 정렬하는 데 사용할 수 있습니다. -
logLevel를 사용하면 원하는 로깅 수준을 결정할 수 있습니다. 지원되는 로그 수준은 다음과ErrorWarningInfoVerbose같습니다. -
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 ID 플랫폼 코드 샘플을 참조하세요.