Funcionalidade de log

Usando a funcionalidade de log no Android

1. Classe utilitária de log do Android: Log

O Android SDK fornece uma classe utilitária de log dedicada android.util.Log, que oferece 5 níveis de métodos de log, organizados da menor para a maior prioridade:

MétodoNívelDescrição
Log.v()VerboseNível mais baixo, usado para as mensagens de log mais triviais
Log.d()DebugInformações de depuração, as mais usadas durante o desenvolvimento
Log.i()InfoMensagens informativas gerais
Log.w()WarnMensagens de aviso, riscos potenciais possíveis
Log.e()ErrorMensagens de erro, como exceções capturadas em blocos catch

2. Uso básico

Adicione o log no método onCreate() do MainActivity:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    
    // Saída de log de nível Info
    Log.i("foxdevelop", "xxxxxx");
}Code language: JavaScript (javascript)

Descrição dos parâmetros do método:

ParâmetroDescrição
Primeiro parâmetro (tag)Tag de log, geralmente uma string curta para identificar a fonte e facilitar a filtragem
Segundo parâmetro (msg)Conteúdo do log, ou seja, a mensagem que você deseja exibir

Após executar o projeto, abra a janela Logcat para ver os logs de saída.


3. Dicas de uso da janela Logcat

FuncionalidadeOperação
Ver logsApós executar o app, o painel Logcat na parte inferior é exibido automaticamente
Pesquisa por palavra-chaveDigite uma palavra-chave (ex.: foxdevelop) na caixa de pesquisa do Logcat para filtrar
Filtrar por nívelClique no menu suspenso para selecionar Show only selected application / No Filters / Edit Filter Configuration
Filtrar por tagDigite tag:foxdevelop na caixa de pesquisa

4. Por que não usar System.out.println()

Item comparadoSystem.out.printlnLog
ControlabilidadeIncontrolávelPode ser controlado por níveis e filtros
Informação de tempoSem carimbo de data/horaCada log inclui um horário preciso
FiltrosNão é possível filtrar por tagSuporta filtragem multidimensional por tag, nível, processo, etc.
Níveis de logSem distinção de nível5 níveis para facilitar a solução de problemas
Ambiente de produçãoNão pode ser desativadoPode ser configurado para desativar ou exibir apenas níveis específicos
// Não recomendado
System.out.println("xxxxxxx");

// Recomendado
Log.i(TAG, "Foxdevelop");Code language: JavaScript (javascript)

5. Atalhos de log do Android Studio

O AS fornece poderosos atalhos de Live Template. Digite e pressione Tab para completar automaticamente:

Atalho (digitar e pressionar Tab)Código geradoDescrição
logdLog.d(TAG, "onCreate: ");Gera log Debug
logiLog.i(TAG, "onCreate: ");Gera log Info
logwLog.w(TAG, "onCreate: ");Gera log Warn
logeLog.e(TAG, "onCreate: ");Gera log Error
logvLog.v(TAG, "onCreate: ");Gera log Verbose
logtprivate static final String TAG = "NomeDaClasse";Use no corpo da classe para gerar automaticamente o nome da classe atual como TAG

6. Exemplo completo

public class MainActivity extends AppCompatActivity {

    // Use logt + Tab no corpo da classe para gerar automaticamente
    private static final String TAG = "MainActivity";

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Saída de log usando a constante TAG
        Log.i(TAG, "foxdevelop");
        Log.e(TAG, "Ocorreu uma exceção aqui");

        // Não recomendado
        System.out.println("xxxxxxx");
    }
}Code language: PHP (php)

Saída do Logcat após a execução:

I/MainActivity: foxdevelop
E/MainActivity: Ocorreu uma exceção aquiCode language: HTTP (http)

Funcionalidade de log

Previous:
Next:

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *