Android 版 MSAL 的日誌記錄

Microsoft 驗證資源庫(MSAL)應用程式會產生日誌訊息,有助於診斷問題。 應用程式只需幾行程式碼即可設定日誌,並自訂細節層級及是否記錄個人與組織資料。 我們建議您建立 MSAL 日誌實作,並提供使用者在有認證問題時提交日誌的方式。

記錄層級

MSAL 提供數個層級的記錄詳細程度:

  • LogAlways:此記錄層級不會進行任何層級篩選。 所有層級的日誌訊息都會被記錄。
  • 關鍵:描述無法復原的應用程式或系統當機,或需要立即處理的災難性故障的日誌。
  • 錯誤:表示發生了問題,並已產生錯誤。 用於除錯與問題識別。
  • 警告:不一定有錯誤或故障,但主要用於診斷和定位問題。
  • 資訊性:MSAL 會記錄用於資訊用途的事件,不一定用於除錯。
  • Verbose(預設):MSAL 記錄函式庫行為的完整細節。

Note

並非所有 MSAL SDK 的日誌層級都可用

個人與組織資料

預設情況下,MSAL 記錄器不會擷取任何高度敏感的個人或組織資料。 圖書館提供啟用個人及組織資料記錄的選項,前提是您願意這麼做。

以下章節將提供更多關於您應用程式中 MSAL 錯誤記錄的詳細資訊。

使用 Java 登入 Android 版 MSAL

在建立應用程式時開啟登入,方法是建立一個日誌回撥。 此回呼接受下列參數:

  • tag 是函式庫傳遞給回調的字串。 它與日誌條目相關聯,可以用來排序日誌訊息。
  • logLevel 可讓你決定要使用哪個記錄層級。 支援的對數層級為:Error、、 WarningInfoVerbose、 和 。
  • 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 身分識別平台 程式碼範例。