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.

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


Posts Relacionados

No related posts.

1 resposta to “Trabalhando com logs em android”

  1. José Corsini disse:

    Uso bem parecido com log4j! Show!

Deixe um comentário