Escribiendo en el Logcat

En esta entrada vamos a ver cómo llevar registro en un log de las acciones que realizamos o queramos registrar para poder analizar la ejecución de nuestras aplicaciones. Veremos cómo utilizar el Logcat.

Para poder escribir en el Log de android utilizaremos alguna de las siguientes funciones.

Log.v(String, String) (verbose)
Log.d(String, String) (depuración)
Log.i(String, String) (información)
Log.w(String, String) (advertencia)
Log.e(String, String) (error)
Log.a(String, String) (asert)

Podemos añadir información en alguna de las prioridades que vemos. de menos a mas: verbose, depuración, información, advertencia, error.

En la herramienta Logcat del entorno de desarrollo Android Studio podemos filtrar por prioridad, con lo que se mostrarán todos los mensajes de esa prioridad y las mayores.

Generando entradas en el Logcat

Todos los mensajes de registro de Android tienen una etiqueta y una prioridad asociadas a ellos. La etiqueta es un string breve que indica el componente del sistema a partir del cual se origina el mensaje (por ejemplo, ActivityManager), ésta etiqueta la podemos definir sin embargo con el contenido que queramos. Una etiqueta definida por el usuario puede ser cualquier string que te resulte útil; por ejemplo, el nombre de la clase actual (la etiqueta recomendada). Se define en una llamada al método Log. Por ejemplo, para debug:

Log.d(tag, message);

Para definir el tag podemos definir una constante global a la Activity, que podrá ser accedida desde cualquier método de la misma, en el ejemplo la activity se llama Lab-ActivityOne lo que nos servirá para saber desde donde se genera la entrada en el log:

// String for LogCat documentation
private final static String TAG = "Lab-ActivityOne";

Para generar un mensaje podremos usar, en cualquier parte de la Actvity el siguiente código, por ejemplo:

// TODO: Emit LogCat message
Log.i(TAG, "Entering OnCreate(), increasing counter");

Usamos el TAG “Lab-ActivityOne” y como mensaje ponemos “Entering OnCreate(), increasing counter”

Visualizando y filtrando el Logcat

Para mostrar los mensajes de registro para una app en particular  durante o tras la ejecución de la aplicación en un dispositivo virtual (emulador o conectado) abre la pestaña logcat de Android Studio.

De manera predeterminada, en el monitor de logcat se muestran solo los mensajes de registro para la app que se ejecuta en el dispositivo o emulador

En la imagen vemos que hemos seleccionado del desplegable el valor info, con lo que sólo se muestran mensajes de info y de prioridad superior. Además en el último desplegable de la derecha está seleccionada la aplicación que estamos corriendo, con lo que los mensajes son sólo de ésta.

Para analizar una aplicación, podemos limpiar el logcat (botón derecho del ratón sobre la ventana del logcat y seleccionar “clear logcat”, establecer los filtros y lanzar la aplicación. Ahora podremos ver todos los mensajes que nos interesan. En la imagen anterior sólo sen ven los mensajes generados con Log.i y aquellos de prioridad superior.

Más información aquí