MSAL.js 中的日志记录

Microsoft 身份验证库 (MSAL) 应用生成日志消息,这些消息可以用来诊断问题。 应用可以通过数行代码配置日志记录,并可对详细程度以及是否记录个人和组织数据进行自定义控制。 建议创建 MSAL 日志记录回调,并提供一种方式来让用户在遇到身份验证问题时提交日志。

日志记录级别

MSAL 提供多个日志记录详细级别:

  • 错误:指示出现问题并已生成错误。 用于调试并确定问题。
  • 警告:不一定会出现错误或故障,只是为了诊断和指出问题。
  • 信息:MSAL 将要记录的事件可为用户提供信息,不一定用于调试。
  • 详细:默认。 MSAL 将记录库行为的完整详细信息。

个人和组织数据

默认情况下,MSAL 记录器不捕获任何高度敏感的个人或组织数据。 该库提供相关选项,允许你自行决定是否记录个人和组织数据。

以下各节将详细介绍应用程序的 MSAL 错误日志记录。

在 MSAL.js 中配置日志记录

可以在 MSAL.js (JavaScript) 中启用日志记录,方法是在配置过程中传递一个记录器对象,以便创建 UserAgentApplication 实例。 此记录器对象具有以下属性:

  • localCallback:一个回调实例,可以由开发人员提供,目的是以自定义方式使用并发布日志。 根据所需要的重定向日志的方式,实现 localCallback 方法。
  • level(可选):可配置的日志级别。 支持的日志级别为:ErrorWarningInfoVerbose。 默认为 Info
  • piiLoggingEnabled(可选):如果设置为 true,则记录个人数据和组织数据。 默认情况下,此项设置为 false,不允许应用程序记录个人数据。 个人数据日志不会写入到默认的输出(例如控制台、Logcat 或 NSLog)中。
  • correlationId(可选):唯一标识符,用于映射请求与响应,以便进行调试。 默认为 RFC4122 版本 4 guid(128 位)。
function loggerCallback(logLevel, message, containsPii) {
   console.log(message);
}

var msalConfig = {
    auth: {
        clientId: "<Enter your client id>",
    },
    system: {
        logger: new Msal.Logger(
            loggerCallback , {
                level: Msal.LogLevel.Verbose,
                piiLoggingEnabled: false,
                correlationId: '1234'
            }
        )
    }
}

var UserAgentApplication = new Msal.UserAgentApplication(msalConfig);

后续步骤

有关更多代码示例,请参阅 Microsoft 标识平台代码示例