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.
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.
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
?? Iniciamos configuración básica: con logging.basicConfig declaramos:
?? Registramos el resultado de la suma con nivel info
?? Registramos el error de sumar un int y un string con nivel error
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:
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.
Atas ialah kandungan terperinci Pembalakan dengan Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!