Registrar em log no MSAL para Android

Os aplicativos Biblioteca do Microsoft Authenticator (MSAL) geram mensagens de log que podem ajudar a diagnosticar problemas. Um aplicativo pode configurar o registro em log com algumas linhas de código e ter controle personalizado sobre o nível de detalhes e se os dados pessoais e organizacionais são registrados ou não. Recomendamos que você crie uma implementação de registro em log do MSAL e ofereça uma forma de os usuários enviarem logs quando tiverem problemas de autenticação.

Níveis de log

MSAL fornece vários níveis de detalhamento de log:

  • LogAlways: nenhuma filtragem de nível é feita nesse nível de log. Mensagens de log de todos os níveis serão registradas.
  • Crítico: logs que descrevem uma falha irrecuperável do aplicativo ou do sistema, ou uma falha catastrófica que exige atenção imediata.
  • Erro: indica que algo deu errado e um erro foi gerado. Usado para depurar e identificar problemas.
  • Aviso: não houve necessariamente um erro ou falha, mas destina-se a diagnóstico e identificação de problemas.
  • Informativo: a MSAL registrará eventos para fins informativos, não necessariamente voltados à depuração.
  • Verboso (padrão): a MSAL registra todos os detalhes do comportamento da biblioteca.

Note

Nem todos os níveis de log estão disponíveis para todos os SDKs da MSAL

Dados pessoais e organizacionais

Por padrão, o logger da MSAL não registra dados pessoais ou organizacionais altamente sensíveis. A biblioteca fornece a opção de habilitar o registro em log de dados pessoais e organizacionais se você decidir fazer isso.

As seções a seguir fornecem mais detalhes sobre o registro de erros em log do MSAL para o seu aplicativo.

Fazer logon no MSAL para Android usando Java

Ative o registro de logs na criação do aplicativo, criando um retorno de chamada de log. O callback recebe os seguintes parâmetros:

  • tag é uma string fornecida à função de callback pela biblioteca. Isso está associado à entrada do log e pode ser usado para ordenar mensagens de log.
  • logLevel permite que você decida qual nível de registro em log deseja. Os níveis de log com suporte são: Error, Warning, e InfoVerbose.
  • message é o conteúdo da entrada de log.
  • containsPII especifica se as mensagens que contêm dados pessoais ou dados organizacionais são registradas. Por padrão, isso é definido como false, para que seu aplicativo não registre dados pessoais. Se containsPII é true, este método receberá as mensagens duas vezes: uma vez com o parâmetro containsPII definido como false e com message sem dados pessoais, e, na segunda vez, com o parâmetro containsPii definido como true e a mensagem pode conter dados pessoais. Em alguns casos (quando a mensagem não contiver dados pessoais), a mensagem será a mesma.
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');
   }
});

Por padrão, o logger do MSAL não capturará informações de identificação pessoal nem informações de identificação organizacional. Para habilitar o registro em log de informações de identificação pessoal ou informações identificáveis organizacionais:

Logger.getInstance().setEnablePII(true);

Para desabilitar o registro em log de dados pessoais e dados da organização:

Logger.getInstance().setEnablePII(false);

Por padrão, o log para logcat está desabilitado. Para habilitar:

Logger.getInstance().setEnableLogcatLog(true);

Próximas Etapas 

Para obter mais exemplos de código, consulte exemplos de código da plataforma de identidade da Microsoft.