Skip to content

🚀 Challenge: Logging en Docker

Objetivo

🎯 Crear una aplicación simple que genere logs en formato JSON, contenerizarla con Docker y aprender a visualizar y analizar los logs usando comandos de Docker.

📢 Enunciado

  1. Crea una aplicación simple en Python que imprima logs en formato JSON cada 2-3 segundos.
  2. La aplicación debe generar:
    • Mensajes informativos (INFO)
    • Mensajes de advertencia (WARN)
    • Mensajes de error (ERROR)
  3. Crea un Dockerfile para contenerizar tu aplicación.
  4. Construye la imagen y ejecuta el contenedor.
  5. Usa al menos 3 comandos diferentes de docker logs para visualizar y analizar los logs.

Criterios de Éxito:

  • ✅ La aplicación genera logs en formato JSON
  • ✅ Los logs incluyen: timestamp, nivel (level) y mensaje (message)
  • ✅ El contenedor ejecuta correctamente
  • ✅ Puedes ver los logs usando docker logs
  • ✅ Demuestras el uso de al menos 3 variantes del comando docker logs

🎯 Estructura del Proyecto:

docker-logging-challenge/
├── app.py
├── Dockerfile
└── README.md

🛠️ Pistas y Recursos:

Estructura Básica de un Log en JSON

{
  "timestamp": "2024-12-09T10:30:45Z",
  "level": "INFO",
  "message": "Aplicación iniciada correctamente"
}

Ejemplo de Aplicación Python Básica

import json
import time
from datetime import datetime

while True:
    log = {
        "timestamp": datetime.utcnow().isoformat() + "Z",
        "level": "INFO",
        "message": "Operación exitosa"
    }
    print(json.dumps(log))
    time.sleep(2)