Trabalhando com logs em android

Hoje irei falar sobre um mecanismo simples porém muito útil para uma aplicação android: os logs.

Os logs permitem ao desenvolvedor debugar erros durante o desenvolvimento e também investigar problemas com o software em produção, ou seja, com o usuário final.

Para este fim, android tem um classe específica: A classe Log (android.util.Log).

Para criar os log, temos à disposição as funções Log.v(), Log.d(), Log.i(), Log.w(), r Log.e().

Mas por que tantas funções?

Porque os log em java tem alguns tipos – ou níveis – são eles:

  • DEBUG – logs impressos pela função Log.d()
  • ERROR – logs impressos pela função Log.e()
  • INFO – logs impressos pela função Log.i()
  • VERBOSE – logs impressos pela função Log.v()
  • WARN – logs impressos pela função Log.w()

Todas estas funções recebem como parâmetros duas strings – a primeira, chamada de TAG, e a segunda que é a mensagem em si. A TAG é uma string que irá identificar a sua aplicação, tornando mais fácil identificar quais logs foram impressos por ela. (Todas as aplicações imprimem o log no mesmo stream. Assim, a única forma de separar os seus logs é filtrando pela sua Tag)

É uma boa prática definir a TAG como uma string constante:

private static final String TAG = "QuickNotesMainActivity";

Dessa forma, para imprimir um log de DEBUG basta usar a linha abaixo:


Log.d(TAG, "mensagem de debug");

Visualizando logs pelo DDMS

Para visualizar os logs de nossa aplicação, usaremos o DDMS. Abrindo a aba “Logcat”, temos a seguinte tela:

 

logcat

Lendo logs pelo logcat

 

No ponto 1 marcado na imagem, temos os botões de “filtragem de níveis”. Estes botões permitem que você escolha quais logs quer ver – DEBUG, por exemplo. Já no ponto 3, você pode escrever um texto, que será um filtro para os logs. Por exemplo, se digitar “QuickNotesMainActivity”, irá ver só os logs que nós colocamos no código acima.

Finalmente, no ponto 2 temos a mensagem de log em si.

Além do DDMS, o log também pode ser visualizado no próprio terminal, executando-se o comando adb logcat:

Screen Shot 2015-05-11 at 10.29.31 PM

DICA: Seja cuidadoso com os logs. Eles podem interferir na performance de sua aplicação se, por exemplo, forem colocados dentro de um loop.

Desenvolvendo para Android

6 respostas to “Trabalhando com logs em android”

  1. José Corsini disse:

    Uso bem parecido com log4j! Show!

  2. […] Depois dessa puxada de orelha vamos ao assunto desta postagem, leitura de logs. Primeiro dê uma olhada na página oficial do Android sobre logs. Essa página contém dicas de como gerar os logs de sua aplicação contendo uma explicação de cada tipo de log. Não vou me extender sobre cada um destes tipos, vamos nos focar nos erros, que são a maior necessidade de nós, programadores. Sobre a estrutura do log você pode ler mais neste post bem interessante do Felipe Silveira. […]

  3. Vanessa disse:

    Que orgulho desse menino

  4. Lucas disse:

    Achei excelente, show de bola!

  5. Fernando Ferreira disse:

    Muito bom.
    Um complemento do conteúdo acima, pode ser encontrado em: https://developer.android.com/reference/android/util/Log.html

    [],

Deixe um comentário