DesarrolloLibre

Desarrollo Web, Android, juegos y mucho más

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:

  • Fecha: Hora del mensaje log.
  • Criticidad: Nivel del mensaje log.
  • PID.
  • Tag: Etiqueta identificativa del mensaje log.
  • Mensaje: Texto del mensaje log.

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:

  • (String) tag: Usado para identificar el mensaje; es una buena práctica declararlos como una constante al inicio de la clase:
    private static final String TAG = "MyTag";
            
  • (String) msg: El mensaje que se desea registrar.
  • (Throwable) tr: La excepción que se desea registrar (opcional).

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

Librería oficial de PayPal para Android

Librería oficial de PayPal  para Android

Generador de launcher para Android sin padding

Generador de launcher para Android sin padding

Telegram messenger para Android

Telegram messenger para Android

Algunos artículos que te pueden interesar

Como configurar el proceso de compilación para firmar automáticamente la APK y obtener el certificado SHA1

Como configurar el proceso de compilación para firmar automáticamente la APK y obtener el certificado SHA1

Se explica cómo generar una apk firmada de manera automática al momento de compilar el proyecto y cómo obtener el certificado SHA1 de nuestra aplicación firmada desde Android Studio.

Andrés Cruz 20-04-2017

¿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

Primeros pasos con Android Studio

Primeros pasos con Android Studio

Esta entrada ofrece una introducción para Android Studio; veremos como instalarlo, sus herramientas, crear proyectos, los archivos Gradle, combinación de teclas, etc.

Andrés Cruz 17-08-2015