"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Registro con Python

Registro con Python

Publicado el 2024-11-08
Navegar:174

Logging con Python

Logs, logging. Qué es y como registrar eventos con Python

Crear logs utilizando logging nos permite un montón de funcionalidades y flexibilidad en el código. En este breve artículo te muestro lo básico y un poco más para empezar a incorporarlo en tus proyectos.

Qué es logging? Y un log?

Logging es una forma de monitorear eventos. Estos eventos son visibles mediante un mensaje descriptivo, con cierta información variable (el valor de alguna variable o el resultado de una función) y con cierto nivel de importancia.
Un log es como un print en Python, pero la diferencia es que no necesariamente se imprimen en pantalla y pueden guardar estos registros en algún archivo conocido.

Cómo lo puedo usar?

Usaremos la librería logging, que ya viene de forma nativa en Python:

import logging

logging.basicConfig(
    filename="log-de-hoy.log",
    encoding="utf-8",
    level=logging.DEBUG,
    format="%(asctime)s %(levelname)s %(message)s"
)

def add(a, b):
    try:
        result = a   b
        logging.info(f"Adding {a} and {b}. Result: {result}")
    except TypeError:
        result = None
        logging.error("The values should be numeric")
    return result

print(add(2, 3)) # 5
print(add(2, "3")) # None

Si ejecutamos esto, se genera un archivo llamado log-de-hoy.log:

2023-12-08 11:56:30,544 INFO Adding 2 and 3. Result: 5
2023-12-08 11:56:30,544 ERROR The values should be numeric

Explicación

?? Iniciamos configuración básica: con logging.basicConfig declaramos:

  • filename: nombre del archivo en particular que queramos agregar los registros (para el ejemplo el nombre es log-de-hoy.log, pero lo ideal es que tenga un nombre descriptivo con la fecha del día)
  • encoding: tipo de formato en el que guardamos cada log
  • level: definimos desde que nivel queremos observar. Los diferentes niveles están en su documentación y vas a ver que tienen un valor numérico, siendo logging.INFO un 20. Si necesitamos debugguear, al menos necesito un 10. Entonces, con logging.DEBUG nos aseguramos que niveles con valor 10 en adelante se registren.
  • format: formato en la que se registran los logs, en este caso es fecha nivel mensaje

?? Registramos el resultado de la suma con nivel info

?? Registramos el error de sumar un int y un string con nivel error

Para qué usar logging?

Tal vez ya te lo puedas imaginar, ya que es una herramienta poderosa que nos va a ayudar a identificar anomalías rápidamente. Algunos de los casos de usos para usarlo son:

  • ? Debugging y troubleshooting
  • ? Monitoreo y análisis de performance
  • ? Auditoría y compliance
  • ? Seguridad y detección de anomalías

Para terminar…

Es fácil de implementar, no? Es un re plus integrarlo en cualquier proyecto y dejar de usar tantos prints ?.

El módulo logging ofrece mucho más de lo poco que mostré acá. Pero esto poco es más que suficiente! De ser necesario, la documentación explica bastante bien otros casos, métodos, configs y demás.

Declaración de liberación Este artículo se reproduce en: https://dev.to/javicerodriguez/logging-con-python-2j7m?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3