ホームページ  >  記事  >  バックエンド開発  >  Python でのロギング

Python でのロギング

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-13 22:12:301031ブラウズ

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.

以上がPython でのロギングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。