🚀 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
- Crea una aplicación simple en Python que imprima logs en formato JSON cada 2-3 segundos.
- La aplicación debe generar:
- Mensajes informativos (INFO)
- Mensajes de advertencia (WARN)
- Mensajes de error (ERROR)
- Crea un
Dockerfilepara contenerizar tu aplicación. - Construye la imagen y ejecuta el contenedor.
- Usa al menos 3 comandos diferentes de
docker logspara 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)