Log: Depuración de código.

lunes, 1 de agosto de 2011 Etiquetas: , , ,

Introducción


Durante la fase de desarrollo de una aplicación siempres llega el momento de realizar pruebas de la misma, y seguro que aparece algún bug que hay que corregir. Android bajo el paquete android.util.Log[1] nos proporciona una utilidad de log para poder escribir mensajes y ver por donde se ejecuta la aplicación, facilitando así la fase depuración.

Desde el entorno de desarrollo Eclipse[2] tenemos la posibilidad de realizar las pruebas de nuestra aplicación mediante la ejecución de un emulador de un terminal con Android. Con este emulador puedes definir la resolución de pantalla, versión del sistema operativo que ejecuta... vamos, muchas opciones para poder realizar una gran cantidad de pruebas. Además con la vista de ejecución hay una ventana donde podemos ver la salida de los logs que hemos ido indicando.

Yo tengo el problema que no tengo un ordenador última generación, vamos ni de penultima, entonces el ejecutar el emulador me va muy lento, así que para realizar las pruebas las hago directamente sobre terminales reales, me es mas rápido y así voy viendo el resultado final real. Esto tiene en inconveniente que no puede acceder directamente al log tal y como se puede realizar desde el entorno de desarrollo Eclipse.



Veremos una pequeña introducción a la utilización del paquete para logging que nos proporciona Android, y como acceder a los logs desde el terminal.

El Paquete Log
Como ya he comentado las utilidades de logging que nos proporciona Android se encuentran en el paquete android.util.Log[1]. Los mensaje que muestra se clasifican según su importancia. Así tenemos:
ERROR, WARN, INFO, DEBUG, VERBOSE. Los dos últimos sólo están disponibles durante la fase de desarrollo.

Los métodos abreviados que utilizaremos para mostrar mensajes serán: Log.v() Log.d() Log.i() Log.w() and Log.e(), la letra, como habréis imaginado, corresponde con la inicial del tipo de mensaje que queremos mostrar. Todos los métodos tienen dos parámetros, el primero un tag y el segundo el mensaje que queremos realizar el log. El Tag nos ayudará a identificar nuestros mensajes. Así es una buena idea crear una constante


private static final String TAG = "MisLogs";
Y la llamada sería de la siguiente forma

Log.v(TAG, "mensaje");

Obteniendo el Log en el dispositivo.
Cuando estamos desarrollando y realizando las pruebas desde Eclipse se pueden ver los mensajes de logs directamente desde el IDE, pero que hacemos cuando estamos probando desde el móvil o en fase de producción da un error y necesitamos acceder a nuestros logs. ¿Cómo podemos acceder a ellos?

Pues la respuesta son programa que acceden al log del dispositivo, por ejemplo:Log Collector [3]. Es un programa gratuito que lo instalas en tu móvil, cuando lo ejecutas recollecta los últimos logs del sistema y te los envía por mail (o por otro sistemas que tiene diponibles, yo utilizo el mail.) Envía los últimos logs y por ellos es interesante indicar un TAG con el que puedas localizar rápidamente tus mensajes del resto de mensajes del sistema.

Si quieres acceder directamente desde el móvil a los logs puedes utilizar el programa aLogcat[4], aunque creo que es mas interesante poder ver los ficheros desde el ordenador ya que con la pantalla grande es mas cómodo su visualización.



Bibliografia y Enlaces
[1]Android Reference (2011) Log (inglés) Consulta Julio 2011.
[2]Eclipse. (Inglés)  http://www.eclipse.org/
[3]Log Collector (inglés) Android Market
[4]aLogcat (inglés) Android Market

0 comentarios:

Publicar un comentario