Skip to main content

UTEC Logger

Project description

Aquí tienes un README.md bien estructurado que explica cómo usar tu logger, cómo configurarlo y cómo establecer las credenciales de AWS y CloudWatch.


📄 README.md

# 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:

```bash
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.3.tar.gz (4.8 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.3-py3-none-any.whl (5.0 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: utec_logger-1.3.tar.gz
  • Upload date:
  • Size: 4.8 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.3.tar.gz
Algorithm Hash digest
SHA256 61d6a1fecdc89718f4cacb8e0b8a277c5780bff6be96ec02646a4902dc4fd7a8
MD5 ca8f32b6de71714c780ec1ace488434b
BLAKE2b-256 5af545f0b892909c43caf4e641c7f896aca8e015f83d3b75d7dab18b378ddf6d

See more details on using hashes here.

File details

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

File metadata

  • Download URL: utec_logger-1.3-py3-none-any.whl
  • Upload date:
  • Size: 5.0 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 42914693ec6f2be393a4c719fdf8d1cafc8a5428211e0c5fd67c3b56b834ec7d
MD5 7e5a432d6260acc4157fad2ca57cc97a
BLAKE2b-256 168614b03a7bc8552b2ea4cdac6b08f11129b37b509004c0011b771210d2b135

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