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.4.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.4-py3-none-any.whl (4.9 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: utec_logger-1.4.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.4.tar.gz
Algorithm Hash digest
SHA256 4e2228b460b928c13420f651077a1451122d9185f3f67fd15102000abf41ddce
MD5 b87d877b16d1d095d338c8e7a0308a58
BLAKE2b-256 e05c7c91ae20e51539504f20bb875c0fc81fd462d342d579385d1bfaab459686

See more details on using hashes here.

File details

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

File metadata

  • Download URL: utec_logger-1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 443b07f4c5ab27c9e5a624e70cfee4609790db2a1ad443739f179da807db647c
MD5 273c801a48a3cf8da8e34d35e54305c9
BLAKE2b-256 96adc1783c69553c03e437d1d5b73c430434bca3f171392ea12285ca40246267

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