¿Cómo usar import logging en Python?: aprende qué es

| Última modificación: 10 de enero de 2025 | Tiempo de Lectura: 3 minutos

Uno de los consejos que te puedo dar como programador es aprender cómo revisar qué ocurre en segundo plano mientras tú estás desarrollando tu código. La biblioteca logging (import logging) en Python hace posible esto. Imagina esta con un tablero de control de avión, ya que permite monitorear, registrar y analizar todo lo que ocurre en tu programa, desde mensajes informativos, hasta errores críticos. En el día de hoy quiero enseñarte cómo funciona el import logging en Python y cómo implementar esta librería.

import logging en Python

¿Qué es import logging en Python?

Mira import logging del siguiente modo: ya nunca más tendrás que programar sin tener idea de lo que ocurre en segundo plano. El import logging nos permite registrar eventos con el fin de diagnosticar problemas, evaluar el comportamiento de una aplicación o únicamente entender qué está pasando. Con import logging puedes llevar un registro organizado y detallado de cada paso que da tu programa.

El import logging busca monitorear el estado de una aplicación en producción, realizar auditorías o depurar errores complejos. No es necesario usarlo en scripts simples en donde un print es suficiente, pero sí que podemos sacarle mucho provecho en aplicaciones más avanzadas o colaborativas.

¿Cómo empezar con import logging?

Para comenzar, solo necesitas importar la biblioteca y usar sus funciones. Veamos un ejemplo de cómo hacerlo:

import logging

logging.warning('Este es un mensaje de advertencia')
logging.info('Este mensaje no se mostrará por defecto')

Cuando ejecutas este código, verás:

WARNING:root:Este es un mensaje de advertencia

Esto sucede porque el nivel predeterminado es warning, lo que quiere decir que solo los mensajes de ese nivel o más altos se muestran.

Los niveles de logging

🔴 ¿Quieres Aprender a Programar con Python? 🔴

Descubre el Full Stack Jr. Bootcamp - Aprende a Programar desde Cero de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp Aprende a Programar desde Cero por una semana

El logging de import logging puede organizar los mensajes en niveles de importancia que pueden ir desde detalles técnicos hasta errores delicados de tratar. Algunos de los niveles principales son:

  • Debug: Información detallada para diagnosticar problemas.
  • Info: Confirmación de que el programa funciona correctamente.
  • Warning: Algo inesperado ocurrió, pero no afecta el funcionamiento general.
  • Error: Un problema que afecta alguna función específica.
  • Critical: Un error grave que podría detener el programa.

Para registrar todos los niveles, puedes configurar el nivel en debug al inicio de tu script del siguiente modo:

logging.basicConfig(level=logging.DEBUG)

¿Cómo guardar registros en un archivo?

En lugar de mostrar los registros solo en la consola, puedes escoger guardarlos en un archivo para analizarlos más tarde. Veamos cómo por medio de un ejemplo:

import logging

logging.basicConfig(filename='app.log', level=logging.INFO)
logging.info('Este mensaje se guardará en un archivo')

Cuando abras el archivo app.log, encontrarás los mensajes registrados.

¿Cómo personalizar el formato de los mensajes?

Si necesitas incluir información adicional como la hora o el nivel de severidad en los registros, puedes personalizar el formato:

import logging

logging.basicConfig(format='%(asctime)s - %(levelname)s - %(message)s', level=logging.DEBUG)
logging.debug('Mensaje con formato personalizado')

Esto da como resultado un mensaje que incluye la fecha, la hora y el nivel de severidad, como este:

2025-01-10 15:00:00,123 - DEBUG - Mensaje con formato personalizado

Usar loggers personalizados

En proyectos más grandes, es recomendable y parte de las buenas prácticas crear loggers personalizados para diferentes módulos. Esto te da mayor control sobre cómo se registran los mensajes.

import logging

logger = logging.getLogger('mi_logger')
logger.setLevel(logging.INFO)

handler = logging.FileHandler('mi_app.log')
formatter = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
handler.setFormatter(formatter)

logger.addHandler(handler)
logger.info('Este mensaje proviene de un logger personalizado')

Algunos consejos antes de finalizar…

  1. Usa diferentes handlers para enviar mensajes a distintos destinos, como la consola o archivos.
  2. Configura filtros para registrar solo ciertos tipos de eventos según su nivel de importancia.
  3. Utiliza logger.exception para capturar automáticamente trazas de errores en tus registros.

Si buscas profundizar en estas y otras herramientas para brillar en el mundo de la programación, atrévete con el Bootcamp de programación inicial de KeepCoding. Verás que en poco tiempo estarás listo para ingresar al sector tecnológico, en donde te esperan grandes oportunidades, excelentes salarios y estabilidad laboral. ¡Aprovecha esta ocasión y comienza tu transformación hoy!

Posts más leídos

¡CONVOCATORIA ABIERTA!

Aprende a programar desde cero

Full Stack JR. Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado