Registrar em log em MSAL para Android
Os aplicativos da MSAL (Biblioteca de Autenticação da Microsoft) geram mensagens de log que podem ajudar a diagnosticar problemas e fornecer detalhes. Um aplicativo pode configurar o registro em log com algumas linhas de código, ter um controle personalizado sobre o nível de detalhes e determinar se dados pessoais e organizacionais serão registrados. Recomendamos que você crie uma implementação de registro em log da MSAL e forneça uma maneira para os usuários enviarem logs quando estiverem com problemas de autenticação.
Níveis de log
A MSAL fornece vários níveis de detalhes de log:
- LogAlways: nenhuma filtragem de nível é feita neste nível de log. As 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. Utilizado para depuração e identificação de problemas.
- Aviso: é destinado a diagnosticar e identificar problemas, mesmo que não tenha havido necessariamente um erro ou falha.
- Informativo: a MSAL registrará em log os eventos destinados a fins informativos, não necessariamente voltados a depuração.
- Detalhado (padrão): a MSAL registra em log os detalhes completos do comportamento da biblioteca.
Observação
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 agente da MSAL não captura dados pessoais ou organizacionais altamente confidenciais. A biblioteca oferece a opção para habilitar o registro em log de dados pessoais e organizacionais, se você optar por fazer isso.
As seções a seguir fornecem mais detalhes sobre o log de erros da MSAL para seu aplicativo.
Registrar em log em MSAL para Android usando Java
Ative o logon na criação do aplicativo Criando um retorno de chamada de log. O retorno de chamada usa estes parâmetros:
tag
é uma cadeia de caracteres passada para o retorno de chamada pela biblioteca. Ele é associado à entrada de log e pode ser usado para classificar mensagens de registro em log.logLevel
permite que você decida qual nível de registro em log deseja. Os níveis de log compatíveis são:Error
,Warning
,Info
eVerbose
.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, ele fica definido como false para que seu aplicativo não registre dados pessoais. SecontainsPII
étrue
, esse método receberá uma mensagem duas vezes: uma vez com o parâmetrocontainsPII
definido parafalse
emessage
sem dados pessoais, e a segunda vez com o parâmetrocontainsPii
definido paratrue
e a mensagem pode conter dados pessoais. Em alguns casos (quando a mensagem não contém 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 registro em log da MSAL não capturá nem registra informações de identificação pessoal ou informações de identificação organizacional. Para registrar em log o PII (Informações de Identificação Pessoal) e o OII (Informações de Identificação Organizacional):
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 em 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.