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

Uploaded Python 3

File details

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

File metadata

  • Download URL: utec_logger-1.6.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.6.tar.gz
Algorithm Hash digest
SHA256 e8e152781422703979cdb957f6d0ee6cc39fe11484dfc93801f856e153565f3c
MD5 5f1d494765e13fd57088e22175ea6c53
BLAKE2b-256 e4f2fc4cb9498108f96f640f9f61b85216110ce661806ed106b90615b8733004

See more details on using hashes here.

File details

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

File metadata

  • Download URL: utec_logger-1.6-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.6-py3-none-any.whl
Algorithm Hash digest
SHA256 5ba8ac101f1006f8246046127d5bad42fcbebf84619c839c128177a23d0d44f0
MD5 c19b5a241eb4911f8884d0f178d33577
BLAKE2b-256 0975c2cc488dd9c002dae545f5b4aa46233f7afa34a065813d9a69d8669ad7b2

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