DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

Categorias
13-02-2014

Si eres nuevo desarrollando para Android, seguramente en algún lugar del código de tu aplicación has hecho algo como esto:

System.out.println(message)

Donde message es algún mensaje para imprimir por la consola de Eclipse, dicho mensaje ofrece alguna información clave al momento de desarrollar, un valor clave, una bandera, etc. Pero vemos que al momento de ejecutar la impresión por pantalla, esta no aparece por la consola. La API de Android incorpora la Clase Log para enviar este tipo de información, y por lo tanto es lo que debemos usar al momento de desarrollar.

Métodos de la Clase Log



Metodo Constante Descripsión
Log.e() ERROR Este nivel de log debe usarse cuando algo fatal ocurre en la aplicación; en otras palabras, al ocurrir algún error o issies, normalmente es buena idea usar este nivel para reportarlos.
Log.w() WARNING Este nivel debe usarse cuando ocurre algún cambio serio o inesperado; pero es probable que sea un estado recuperable.
Log.i() INFO Este nivel debe usarse al tratarse de un acontecimiento netamente informativo y que no necesariamente sea un error.
Log.d() DEBUG Este nivel debe usarse cuando se desee conseguir una mayor información; algo relevante que esta ocurriendo cuando la aplicación está ejecutándose en el dispositivo.

Información de los métodos de la Clase Log

En Android, todos los mensajes de log llevarán asociada la siguiente información:

Parámetros de los métodos de la Clase Log

Cualquiera de los métodos explicados recibe 2 parámetros como mínimo, el tag y el mensaje:

Para ver cualquiera de estos mensajes es necesario tener la consola LogCat habilitada. Para ello tendremos que dirigirnos a:

Windows >> Show View >> Android >> Other >> LogCat

Ejemplos

Un ejemplo práctico de lo explicado:

 
	private static final String TAG = "MyTag";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
 
        Log.e(TAG, "Mensaje de error");
        Log.w(TAG, "Mensaje de warning");
        Log.i(TAG, "Mensaje de información");
        Log.d(TAG, "Mensaje de depuración");
    }

Como podemos ver, imprimimos todos los métodos de la Clase Log ya explicados; al observar la consola LogCat veremos algo como esto:

log messages android

Imagen 1: Logs de ejemplos.

Cómo se puede observar, para cada mensaje se muestra toda la información que indicamos al principio del artículo, además de estar diferenciados por un color.

Existe una variante para cada uno de los métodos de la Clase Log ya explicados, consiste en agregar un parámetro extra del tipo Throwable:

 
	private static final String TAG = "MyTag";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
		
		try
		{
			int a = 1/0;
		}
		catch(Throwable t)
		{
				Log.e(TAG, "Mensaje de error", t);
				Log.w(TAG, "Mensaje de warning", t);
				Log.i(TAG, "Mensaje de información", t);
				Log.d(TAG, "Mensaje de depuración", t);
		}
		 

    }

Aunque la forma correcta sería solo utilizar el método Log.e():

 
	private static final String TAG = "MyTag";
 
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
		
		try
		{
			int a = 1/0;
		}
		catch(Throwable t)
		{
				Log.e(TAG, "Mensaje de error", t);
		}
		 

    }
}

Si ejecutamos el código anterior, observaremos que se ha agregado la excepción a nuestra traza:

log error android

Imagen 2: Log de error, ejemplo.

Conclusiones

Utilizar estos Log provistos por la API de Android, se traducen como una herramienta sencilla pero muy valiosa la hora de depurar, registrar errores o trazas de ejecución informativas de nuestras aplicaciones.


Publicidad

Give me for a beer!

Algunos recursos que te pueden interesar

Generador de launcher para Android sin padding

Generador de launcher para Android sin padding

Templates para Android y iOS

Templates para Android y iOS

Paleta de colores para el Material Design

Paleta de colores para el Material Design

Algunos artículos que te pueden interesar

Localización de la instalación de las aplicaciones en Android

Localización de la instalación de las aplicaciones en Android

A partir del API Nivel 8 (Android 2.2), es posible que nuestras aplicaciones puedan ser instaladas en una memoria externa (por ejemplo una memoria Micro SD).

Andrés Cruz 27-12-2013

¿Cómo evitar el reinicio de las actividades al rotar la pantalla en Android?

¿Cómo evitar el reinicio de las actividades al rotar la pantalla en Android?

Cuando se gira o rota la pantalla del dispositivo el método OnCreate es invocado y por ende se reinicia, en esta entrada veremos como evitar este reinicio.

Andrés Cruz 25-09-2014

Cómo establecer fragments en los tags en Android

Cómo establecer fragments en los tags en Android

Se explica un simple caso de cómo podemos establecer varios fragments en tags y de esta forma crear vistas deslizables, además de poder cambiar de un fragment a otro cuando lo deseemos.

Andrés Cruz 13-07-2016