共用方式為


Android 版 MSAL 中的記錄

Microsoft 驗證程式庫 (MSAL) 應用程式能產生記錄訊息,可用來協助診斷問題。 應用程式可透過幾行程式碼來設定記錄,並針對詳細資料層級和是否要記錄個人和組織資料具有自訂控制。 建議您建立 MSAL 記錄實作,並為使用者提供在發生驗證問題時提交記錄的方式。

記錄層級

MSAL 提供數種層級的記錄詳細資料:

  • LogAlways:此記錄層級上不會進行層級篩選。 將會記錄所有層級的記錄訊息。
  • 重大:描述無法復原的應用程式或系統當機的記錄,或需要立即注意的災難性失敗。
  • 錯誤:指出已發生問題並產生錯誤。 用來進行偵錯及識別問題。
  • 警告:不一定有錯誤或失敗發生,但應該進行診斷並找出問題。
  • 資訊:MSAL 會記錄用於資訊用途的事件,不一定用於偵錯。
  • 詳細資訊 (預設值):MSAL 會記錄程式庫行為的完整詳細資料。

注意

並非所有記錄層級都適用於所有 MSAL SDK

個人和組織資料

根據預設,MSAL 記錄器不會擷取任何具高度敏感性的個人或組織資料。 程式庫可讓您在需要時選擇啟用記錄個人和組織資料的功能。

下列各節提供更多有關您應用程式 MSAL 錯誤記錄的詳細資料。

Android 版 MSAL 中使用 Java 的記錄

建立記錄回撥,以在建立應用程式時開啟記錄。 回撥會採用下列參數:

  • tag 是程式庫傳遞給回撥的字串。 它與記錄項目相關聯,可用來排序記錄訊息。
  • logLevel 可讓您決定所需的記錄層級。 支援的記錄層級為:ErrorWarningInfoVerbose
  • message 是記錄項目的內容。
  • containsPII 指定是否記錄包含個人資料或組織資料的訊息。 這預設為 false,因此,您的應用程式不會記錄個人資料。 如果 containsPIItrue,則此方法將會接收訊息兩次:一次是在 containsPII 參數設定為 falsemessage 未包含個人資料時,另一次是在 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 身分識別平台程式碼範例