Você está na página 1de 4

Logging en Android

Por: Aurora Rodrguez @condesa_sama


Android ofrece un sistema con la capacidad de logging. Puedes
registrar cualquier parte de tu cdigo en la consola mandando a llamar
el mtodo Log.d(TAG, message) en el que
los parmetros TAG y message son cadenas de texto. Se recomienda
queTAG sea una etiqueta significativa para tu cdigo. Tpicamente un
TAG es el nombre de tu aplicacin, tu clase, o el nombre de tu
mdulo desde la cul se est lanzando el mensaje. Una buena
prctica es definir TAG como una constante Java para tu clase entera,
tal como:
private static final String TAG =
StatusActivity.class.getSimpleName();

Nota: antes de que tu cdigo compile necesitas importar la clase Log.


Eclipse tiene una caracterstica til con la opcin Source > Organize
Imports o con Ctrl + O. Usualmente esta caracterstica incluir tus
sentencias import automticamente. Sin embargo, en el caso de Log,
regularmente puede haber conflictos porque existen mltiples clases
llamadas Log. Es aqu dnde debers poner a prueba tu sentido
comn y probar. En este caso la ambigedad existe entre la clase Log
de Android y la de Apache.
Observa que Log puede tomar diferentes niveles: .d() es para un nivel
de debug, pero tambin puedes especificar .e() para
errores, .w() para warnings, o .i() para informacin. Existe
incluso .wtf() para especificar el nivel de gravedad de los errores que
nunca deberan ocurrir. (Yo s que a ustedes nunca les ha pasado a
qu no?).
Tip acerca de los Imports: la herramienta de Eclipse para organizar
los importspuede dar lugar a escenarios en los que sea difcil
encontrar un problema. Por ejemplo, si tu proyecto no ha generado la
clase R.java (que puede pasar en el caso de que tengas algn error
dentro de algn archivo XML de recursos), la herramienta Organize
Imports agregar la clase android.R. Esta clase R forma parte
del framework de Android y tiene el mismo nombre de la clase R que
es local en nuestro proyecto. Algo difcil de notar en ocasiones. Por
ello, si tienes muchos errores a la hora de hacer referencia a recursos

a travs de la clase R, verifica siempre que la clase android.R no est


importada en lugar de tu clase local.

LogCat
Todos los mensajes de log del sistema Android se muestran en
el LogCat, un mecanismo de consola estandarizado para el sistema.
El LogCat est fcilmente accesible para todo el cdigo Java y C/C++.
Los desarrolladores podemos ver todos los registros de log y filtrarlos
con base en varios criterios, como por ejemplo para que muestre
nicamente mensajes de nivel de debug, de warning o de error, o
basados en categoras propias. Como la mayora de las cosas en el
desarrollo con Android existen dos formas de ver el LogCat: a travs
de Eclipse o a travs de la lnea de comandos.

1. LogCat desde la perspectiva DDMS de Eclipse


Para ver el LogCat en Eclipse basta con cambiar a la perspectiva
DDMS dando clic en el botn con este nombre localizado en la parte
superior derecha de Eclipse.

En caso de que este botn no est visible seleccionamos Window >


Open Perspective > Other y elegimos la opcin DDMS en la
ventana emergente que se nos muestra. DDMS significa Dalvik
Debug Monitor Server. DDMS es la conexin entre tu aplicacin al
correr en un dispositivo y tu ambiente de desarrollo, en este caso
Eclipse.

Puedes definir filtros para los mensajes que quieres que te muestre
el LogCat. Para ello da clic sobre el botn de ms de color verde y el
dilogo LogCat Filteraparecer. Puedes crear filtros basados en un
tag, en el nivel de gravedad, o por el ID del proceso. Esto crear otra
pestaa dentro del LogCat que mostrar nicamente los mensajes que
coincidan con ese filtro.

2. LogCat desde lnea de comandos


Justo como las dems herramientas todo lo que puedes hacer en
Eclipse lo puedes hacer desde la lnea de comandos. Para ver el
LogCat, abre tu terminal y escribe:

[user:~]> adb logcat

Esto te mostrar la cola de mensajes del actual LogCat y se


actualizar mientras tu dispositivo est generando mensajes. Puedes
filtrar los mensajes del LogCat desde lnea de comandos, pero la
sintaxis no es la ms intuitiva. Para ver solamente los mensajes con el
tag MyFirstActivity debemos especificar MyFirstActivity:*, lo que
significa que queremos ver todos los mensajes de todos los niveles de
gravedad con este tag. Sin embargo tambin tienes que especificar lo
que no quieres ver. Para hacer eso agregamos *:S, lo que significa
que queremos silenciar los dems mensajes. El siguiente comando
ilustra esto:
[user:~]> adb logcat StatusActivity:* *:S

He encontrado til tener abierta una lnea de comandos con el adb


logcatcorriendo todo el tiempo. Esto me ha facilitado ver rpidamente
qu est pasando con mi aplicacin y en ocasiones ha resultado ser
ms rpido que pasarme a la perspectiva de DDMS en Eclipse. Te
recomiendo que hagas tus pruebas cuando ests desarrollando
tus apps y trata siempre de sacarle jugo a cada una de las
herramientas de tu entorno de desarrollo.

Você também pode gostar