Skip to main content

UTEC Logger

Project description

utec_logger

Un logger personalizado para Python con salida en consola a color, guardado en archivos locales y soporte opcional para AWS CloudWatch Logs.

🚀 Características

  • Logs a consola con colores según el nivel (INFO, WARNING, ERROR, CRITICAL)
  • Logs persistentes en archivos locales (logs/log-<timestamp>.log)
  • Integración opcional con AWS CloudWatch para centralizar logs
  • Singleton: mantiene una única instancia del logger

🧑‍💻 Instalación

Clona o añade este módulo en tu proyecto:

git clone <repositorio>

Importa el logger en tus scripts:

from utec_logger.logger import logger, info, warning, error, critical, Level

📝 Uso

logger.info("Este es un mensaje informativo")
logger.warning("Advertencia")
logger.error("Error")
logger.critical("Crítico")

# O usa funciones directas:
info("Mensaje directo tipo info")

🧾 Salida esperada

En consola (con colores):

2025-05-03 12:30:01.123 | INFO | main.py:23 | Este es un mensaje informativo

En archivo:

logs/log-2025-05-03-12-30-01.log

☁️ Integración con AWS CloudWatch (opcional)

Si defines las variables de entorno necesarias, el logger también enviará los eventos a AWS CloudWatch Logs.

🔐 Variables necesarias

Debes definir las siguientes variables de entorno antes de ejecutar tu aplicación:

export AWS_ACCESS_KEY_ID=your-access-key-id
export AWS_SECRET_ACCESS_KEY=your-secret-access-key
export AWS_SESSION_TOKEN=your-session-token   # Opcional, si usas roles temporales
export AWS_REGION=us-east-1
export CLOUD_WATCH_GROUP=your-log-group-name
export CLOUD_WATCH_STREAM=your-log-stream-name

Si prefieres usar un archivo .env:

AWS_ACCESS_KEY_ID=your-access-key-id
AWS_SECRET_ACCESS_KEY=your-secret-access-key
AWS_SESSION_TOKEN=your-session-token
AWS_REGION=us-east-1
CLOUD_WATCH_GROUP=my-app-logs
CLOUD_WATCH_STREAM=dev-instance

Y luego en tu código, carga estas variables con python-dotenv:

from dotenv import load_dotenv

load_dotenv()

🧪 Verificación

Al iniciar, el logger mostrará en consola si AWS y CloudWatch han sido correctamente configurados:

AWS Ready: 123456789012
CloudWatch Group: my-app-logs
CloudWatch Stream: dev-instance
CloudWatch Ready

📁 Estructura de logs

  • Los archivos .log se guardan en la carpeta logs/ dentro del directorio donde se ejecuta el programa.
  • Cada archivo de log contiene todos los eventos desde que se inició el script.

✅ Requisitos

  • Python 3.7+
  • boto3
  • (Opcional) python-dotenv para cargar .env

📦 Instalación de dependencias

pip install boto3 python-dotenv

🧊 Ejemplo completo

from utec_logger.logger import logger, info, warning, error, critical

logger.info("Iniciando el sistema")
logger.warning("Este es un warning")
error("Ocurrió un error")
critical("Error crítico")

Créditos

Desarrollado con fines educativos para el curso de Cloud Computing - UTEC.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

utec_logger-1.5.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

utec_logger-1.5-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

Details for the file utec_logger-1.5.tar.gz.

File metadata

  • Download URL: utec_logger-1.5.tar.gz
  • Upload date:
  • Size: 4.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for utec_logger-1.5.tar.gz
Algorithm Hash digest
SHA256 7f68aeb6a9fcd8369b8e5bf05a812f108ce067f33db4f87f1c49bed3b9b6c08c
MD5 e99b4470ea23e0e1b5f48c0d7db4b295
BLAKE2b-256 421278765bb44f8c874183d39903574ee09424a0ddaccdae2503e6a6d4d96993

See more details on using hashes here.

File details

Details for the file utec_logger-1.5-py3-none-any.whl.

File metadata

  • Download URL: utec_logger-1.5-py3-none-any.whl
  • Upload date:
  • Size: 4.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.0

File hashes

Hashes for utec_logger-1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 20669bb18ec799efb1439c80974dc128cfa1cbed369e9a6b989b92c54b2dbc4f
MD5 f568f17be5e11d1dac2141b328678793
BLAKE2b-256 791ebb53af5ba15c138a4bec92d21b8996e1e52e7d8a8fe462bda88eae80e12c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page