Skip to content

Most visited

Recently visited

navigation

Escribir y ver registros con Logcat

Android Monitor incluye un monitor de logcat en el que se muestran mensajes de depuración. En el monitor de logcat, se muestran mensajes del sistema, como por ejemplo, cuando ocurre una recopilación de elementos no usados, como también mensajes que puedes agregar a tu app mediante la clase Log. Se muestran mensajes en tiempo real y también se conserva un historial para que puedas ver mensajes más antiguos.

A fin de mostrar solo la información de interés, puedes crear filtros, modificar la cantidad de información que se muestra en los mensajes, establecer niveles de prioridad, mostrar mensajes producidos únicamente por el código de la app e inspeccionar el registro. De manera predeterminada, el monitor de logcat muestra el resultado de registro solo en relación con la app que se haya ejecutado más recientemente.

Cuando se produce una excepción en una app, en el monitor de logcat aparece un mensaje y luego el seguimiento de pila asociado que contiene vínculos al código. Esta función puede ayudarte a solucionar errores y mejorar la operación de la app.

A partir de Android Studio 2.2, la ventana Run también muestra mensajes de registro para la app que está en ejecución. Ten en cuenta que puedes configurar la visualización del monitor de logcat, pero no la ventana Run.

Formato de mensajes de logcat

Todos los mensajes de registro de Android tienen una etiqueta y una prioridad asociadas a ellos. La etiqueta de un mensaje de registro del sistema es una string breve que indica el componente del sistema a partir del cual se origina el mensaje (por ejemplo, ActivityManager). 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:

Log.d(tag, message);

La prioridad es uno de los siguientes valores:

El formato del mensaje de registro es el siguiente:

date time PID-TID/package priority/tag: message

Por ejemplo, el siguiente mensaje de registro tiene una prioridad V y una etiqueta AuthZen:

12-10 13:02:50.071 1901-4229/com.google.android.gms V/AuthZen: Handling delegate intent.

PID es el identificador del proceso y TID el identificador del subproceso. Pueden ser iguales si solo hay un subproceso.

Visualización de una app en ejecución en el monitor de logcat

Para mostrar los mensajes de registro para una app en particular, sigue estos pasos:

  1. Asegúrate de cumplir con los requisitos previos y las dependencias.
  2. Abre un proyecto de la app.
  3. Ejecuta la app en un dispositivo o emulador de hardware.
  4. Abre Android Monitor.
  5. Haz clic en la pestaña logcat.
  6. 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:

    Para cambiar esta configuración predeterminada, consulta Filtrado de mensajes de logcat.

  7. Si lo deseas, puedes seleccionar un dispositivo, emulador o proceso diferente.

Configuración del nivel de registro

Para controlar la cantidad de mensajes que deseas que aparezcan en el monitor de logcat, puedes configurar el nivel de registro. Puedes mostrar todos los mensajes o solo aquellos que indiquen las condiciones más graves.

Recuerda que el monitor de logcat continúa recopilando todos los mensajes independientemente de la configuración del nivel de registro. Dicha configuración solo determina lo que se muestra en el monitor.

Para configurar el nivel de registro, sigue estos pasos:

Búsqueda de mensajes de logcat

Para buscar los mensajes que actualmente aparezcan en el monitor de logcat, sigue estos pasos:

  1. Puedes seleccionar Regex si deseas usar un patrón de búsqueda de expresión regular.
  2. Escribe una secuencia de caracteres en el campo de búsqueda Ícono de búsqueda.
  3. En el monitor de logcat, se muestran los cambios en consecuencia.

  4. Presiona Enter para almacenar la string de búsqueda en el menú durante esta sesión.
  5. Para repetir una búsqueda, elige dicha string en el menú de búsqueda. Selecciona Regex o anula esta selección según sea necesario (no se guarda la configuración).

Filtrado de mensajes de logcat

Una forma de reducir los resultados de registro a un nivel razonable es restringir los mensajes mediante un filtro.

Nota: el filtro se aplica al historial de logcat completo, no solo a aquellos mensajes que se muestran actualmente en el monitor de logcat. Asegúrate de que las demás opciones de visualización estén configuradas correctamente, de modo que puedas ver el resultado del filtro que desees examinar.

Para definir y aplicar un filtro, sigue estos pasos:

  1. En el menú de filtros, selecciona una opción de filtro:
    • Show only selected application: se muestran los mensajes producidos por el código de la app únicamente (configuración predeterminada). El monitor de logcat filtra los mensajes de registro mediante el PID de la app activa.
    • No Filters: no se aplican filtros. En el monitor de logcat, se muestran todos los mensajes de registro del dispositivo, independientemente del proceso que selecciones.
    • Edit Filter Configuration: crea o modifica un filtro personalizado. Por ejemplo, puedes crear un filtro para ver mensajes de registro de dos apps al mismo tiempo.

    Luego de definir los filtros, también puedes seleccionarlos en el menú. Para quitarlos del menú, debes borrarlos.

  2. Si seleccionaste Edit Filter Configuration, crea o modifica un filtro.
    1. Especifica los parámetros del filtro en el diálogo Create New Logcat Filter:
      • Filter Name: ingresa el nombre de un filtro que desees definir o selecciónalo en el subpanel izquierdo para modificar un filtro existente. El nombre solo puede contener caracteres en minúscula, guión bajo y números.
      • Log Tag: si lo deseas, puedes especificar una etiqueta. Para obtener más información, consulta Formato de mensajes de logcat.
      • Log Message: si lo deseas, puedes especificar el texto del mensaje de registro. Para obtener más información, consulta Formato de mensajes de logcat.
      • Package Name: si lo deseas, puedes especificar un nombre de paquete. Para obtener más información, consulta Formato de mensajes de logcat.
      • PID: si lo deseas, puedes especificar un ID de proceso. Para obtener más información, consulta Formato de mensajes de logcat.
      • Log Level: si lo deseas, puedes seleccionar un nivel de registro. Para obtener más información, consulta Configuración del nivel de registro.
      • Regex: selecciona esta opción para usar una sintaxis de expresión regular para ese parámetro.
    2. Haz clic en + para agregar la definición del filtro al subpanel izquierdo.
    3. Para quitar un filtro, selecciónalo en el subpanel izquierdo y haz clic en -.

    4. Cuando finalices, haz clic en OK. Si haces clic en Cancel, se pierden las adiciones o modificaciones de filtros que hayas hecho.
  3. Asegúrate de ver los mensajes de registro que deseas examinar.
  4. Si crees que no ves los mensajes de registro que deseas, intenta seleccionando No filters y buscando mensajes de registro específicos.

Configuración de la visualización del encabezado de logcat

Para personalizar la visualización del encabezado y mostrar solo la información que te interesa, sigue estos pasos:

Para obtener más información sobre los elementos de los mensajes, consulta Formato de mensajes de logcat.

Desplazamiento ascendente y descendente en el seguimiento de pila

Cuando se produce una excepción en la app, en el mensaje se incluye un seguimiento de pila de las llamadas del método. El monitor de logcat te permite localizar rápidamente fragmentos del seguimiento de pila en el registro y ver el código asociado en Code Editor. Si es necesario (y posible), el descompilador extrae el código fuente que puedes ver.

Para ascender o bajar de posición en el seguimiento de pila, y ver el código asociado en Code Editor, sigue estos pasos:

Desplazamiento hasta el final del registro

Si haces clic en un mensaje específico, dejan de mostrarse los mensajes.

Para moverte rápidamente hasta el final del registro y ver el flujo de mensajes en tiempo real, sigue estos pasos:

Impresión y guardado en un archivo

Para conservar la información de registro, puedes enviar el registro a una impresora, guardar el registro en un archivo PDF o copiar y pegar el registro en un archivo de texto.

Para imprimir el registro o guardarlo en un archivo PDF, sigue estos pasos:

  1. Haz clic en Print Ícono de Print.
  2. En el diálogo Print de Android Studio, puedes cambiar los parámetros de impresión y luego hacer clic en Print.
  3. En el diálogo Print del sistema operativo, puedes cambiar los parámetros de impresión y luego hacer clic en Print.
  4. Puedes configurar los parámetros para enviar el registro a una impresora o guardarlo en un archivo PDF.

Para copiar el registro en un archivo de texto, sigue estos pasos:

  1. En el monitor de logcat, selecciona y luego copia el texto del registro.
  2. Presiona Ctrl+A (⌘A) para seleccionar todo el texto.

  3. Abre un editor de texto y pega el texto en un archivo.

Limpieza y reinicio del registro

Para limpiar (vaciar) el registro completo, haz lo siguiente:

Si existe un problema y el registro deja de avanzar, puedes reiniciarlo:

Adición de mensajes de registro a tu código

La clase Log te permite crear mensajes de registro que aparecen en el monitor de logcat. Por lo general, debes usar los siguientes métodos de registro, que se ordenan de mayor a menor prioridad:

Consulta la descripción de la clase Log para obtener una lista más completa de opciones.

No debes compilar registros detallados en tu app, salvo durante el desarrollo. Los registros de depuración se compilan seccionados durante el tiempo de ejecución, mientras que los registros de error, advertencia e información se conservan siempre.

Para cada método de registro, el primer parámetro debe ser una etiqueta exclusiva y el segundo es el mensaje. La etiqueta de un mensaje de registro del sistema es una string breve que indica el componente del sistema a partir del cual se origina el mensaje (por ejemplo, ActivityManager ). Tu etiqueta puede ser cualquier string que te resulte útil; por ejemplo, el nombre de la clase actual.

Una buena convención es declarar una constante TAG en tu clase para usarla en el primer parámetro. Por ejemplo, puedes crear un mensaje de registro de información de la siguiente manera:

private static final String TAG = "MyActivity";
...
Log.i(TAG, "MyClass.getView() — get item number " + position);

Nota: los nombres de etiquetas con más de 23 caracteres se truncan en el resultado de logcat.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a one-minute survey?
Help us improve Android tools and documentation.