Android 版 MSAL 中的記錄
Microsoft 驗證連結庫 (MSAL) 應用程式會產生記錄訊息,以協助診斷問題。 應用程式可以使用幾行程式代碼來設定記錄,並自定義控制詳細數據層級,以及是否記錄個人和組織數據。 建議您建立 MSAL 記錄實作,並為使用者提供在發生驗證問題時提交記錄的方式。
記錄層級
MSAL 提供數個層級的記錄詳細資料:
- LogAlways:此記錄層級上不會進行層級篩選。 將會記錄所有層級的記錄訊息。
- 重大:描述無法復原的應用程式或系統當機的記錄,或需要立即注意的災難性失敗。
- 錯誤:表示發生錯誤併產生錯誤。 用於偵錯和識別問題。
- 警告:不一定發生錯誤或失敗,但適用於診斷和找出問題。
- 資訊:MSAL 會記錄用於資訊用途的事件,不一定用於偵錯。
- 詳細資訊(預設值):MSAL 會記錄連結庫行為的完整詳細數據。
注意
並非所有記錄層級都適用於所有 MSAL SDK
個人和組織數據
根據預設,MSAL 記錄器不會擷取任何高度敏感的個人或組織數據。 如果您決定這麼做,連結庫會提供啟用記錄個人和組織數據的選項。
下列各節提供應用程式 MSAL 錯誤記錄的詳細數據。
使用 Java 登入適用於 Android 的 MSAL
藉由建立記錄回呼,在建立應用程式時開啟記錄功能。 回呼會採用下列參數:
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);
下一步
如需更多程式代碼範例,請參閱 Microsoft 身分識別平台 程式代碼範例。