Microsoft Authentication Library (MSAL) アプリは、問題の診断に役立つログ メッセージを生成します。 アプリでは、数行のコードでログ記録を構成し、詳細レベルと個人データと組織データをログに記録するかどうかをカスタム制御できます。 MSAL ログの実装を作成し、ユーザーが認証の問題がある場合にログを送信する方法を提供することをお勧めします。
ログ記録のレベル
MSAL には、いくつかのレベルのログの詳細が用意されています。
- LogAlways: このログ レベルでは、レベル のフィルター処理は行われません。 すべてのレベルのログ メッセージがログに記録されます。
- 重大: 回復不能なアプリケーションまたはシステムのクラッシュ、または直ちに注意が必要な致命的な障害を記述するログ。
- エラー: 問題が発生し、エラーが生成されたことを示します。 問題のデバッグと特定に使用されます。
- 警告: 必ずしもエラーや障害が発生したことを示すものではなく、診断や問題の特定を目的としています。
- 情報: MSAL は、必ずしもデバッグを目的としていない情報提供目的のイベントをログに記録します。
- 詳細 (既定): MSAL は、ライブラリの動作の詳細をログに記録します。
Note
すべての MSAL SDK のすべてのログ レベルが使用できるわけではありません
個人データと組織データ
既定では、MSAL ロガーは機密性の高い個人データや組織データをキャプチャしません。 ライブラリには、個人データと組織データのログ記録を有効にするオプションが用意されています (これを行う場合)。
次のセクションでは、アプリケーションの MSAL エラー ログの詳細について説明します。
Java を使用した Android 向け MSAL でのログ記録
ログ 記録コールバックを作成して、アプリの作成時にログ記録を有効にします。 コールバックは、次のパラメーターを受け取ります。
-
tagは、ライブラリによってコールバックに渡される文字列です。 ログ エントリに関連付けられているため、ログ メッセージの並べ替えに使用できます。 -
logLevelを使用すると、必要なログ記録のレベルを決定できます。 サポートされているログ レベルは、Error、Warning、Info、およびVerboseです。 -
messageはログ エントリの内容です。 -
containsPIIは、個人データまたは組織データを含むメッセージをログに記録するかどうかを指定します。 既定では、これは false に設定されているため、アプリケーションは個人データをログに記録しません。containsPIIがtrueされている場合、このメソッドはメッセージを 2 回受信します。1 回はcontainsPIIパラメーターをfalseに設定し、messageは個人データなしで、もう 1 回は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 プラットフォームコード サンプルを参照してください。