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

Uploaded Python 3

File details

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

File metadata

  • Download URL: utec_logger-1.7.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.7.tar.gz
Algorithm Hash digest
SHA256 2e0d17764a57d8916c9694203a13f4d140afe29f67e99b6421c7ecb1ccd7d2da
MD5 fcae33d04ec0150e61cfb7f7825422fc
BLAKE2b-256 328715002dad699bd9ab7854367818b157ba4415a13c55edd4632171cd620df9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: utec_logger-1.7-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.7-py3-none-any.whl
Algorithm Hash digest
SHA256 2b50c262c26f48beff9e9e624b4d66619afda94179f9c469fbc99aee248224e2
MD5 85aec21d14b05db3d174948c1fd8e73e
BLAKE2b-256 421d1bcb0b3b201c8abd62a2836459c960d9b6857b78252512006ebf40385c26

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