
Extensión de VSCode que coloriza e iconiza logs de texto basándose en el nivel de severidad. Diseñada específicamente para formatear logs JSON de pods de Kubernetes/GCP con campos de nivel como "info", "debug", "error", "warning", etc.
✨ Características
- 🎨 Colorización automática de logs basada en el nivel de severidad
- 🔍 Iconos visuales para identificar rápidamente el tipo de log
- 📖 Expansión visual de JSON sin modificar el contenido original (hover)
- 🔧 Filtros por nivel para mostrar solo logs específicos
- 📊 Resumen en barra de estado con conteos por nivel y estado de filtros
- ⚡ Auto-formateo al abrir archivos de log
- 🎯 Detección inteligente de logs JSON
- 🌙 Soporte para temas claros y oscuros
- 📋 Acciones rápidas para copiar JSON formateado y mostrar en panel lateral
Para uso:
La extensión se activa automáticamente al abrir archivos .log
o .txt
que contengan logs JSON.
📋 Uso
La extensión detecta automáticamente archivos de log JSON y aplica el formateo visual.
Comandos disponibles
GCP Log Formatter: Format JSON Logs
- Formatea manualmente los logs del documento actual
GCP Log Formatter: Toggle Expand/Collapse JSON
- Expande o contrae el JSON en la línea actual
Filtros por nivel:
GCP Log Formatter: Filter Log Levels
- Abre selector interactivo de filtros
GCP Log Formatter: Show Only Errors
- Muestra solo logs de error y fatal
GCP Log Formatter: Show Only Warnings
- Muestra solo logs de advertencia
GCP Log Formatter: Show All Levels
- Muestra todos los niveles de log
Expansión visual (sin modificar contenido):
- Hover sobre cualquier línea JSON - Muestra JSON expandido en tooltip
- Clic derecho → "Copy Formatted JSON" - Copia JSON formateado al portapapeles
- Clic derecho → "Show JSON in Side Panel" - Abre JSON en panel lateral
Atajos de teclado
Puedes asignar atajos de teclado a los comandos desde File > Preferences > Keyboard Shortcuts
.
- Clic derecho en archivos de log para acceder a opciones de formateo y filtros
- Iconos en la barra de título del editor para acceso rápido a filtros
- Hover sobre líneas JSON para ver contenido expandido sin modificar el archivo
Filtrado de logs
- Selector interactivo: Usa
Ctrl+Shift+P
→ "Filter Log Levels" para abrir el selector
- Filtros rápidos: Botones en la barra de título para errores, warnings, o todos los niveles
- Estado en barra de estado: Muestra conteo de logs visibles vs. totales cuando hay filtros activos
⚙️ Configuración
La extensión incluye las siguientes opciones configurables:
{
"gcp-log-formatter.enableIcons": true, // Habilitar iconos
"gcp-log-formatter.enableColors": true, // Habilitar colores
"gcp-log-formatter.autoFormat": true // Formateo automático
}
🎨 Niveles de Log Soportados
Nivel |
Color |
Icono |
Descripción |
trace |
Gris |
🔍 |
Logs de traza detallados |
debug |
Azul |
🐛 |
Información de debug |
info |
Verde |
ℹ️ |
Información general |
warn /warning |
Amarillo |
⚠️ |
Advertencias |
error |
Rojo |
❌ |
Errores |
fatal |
Rojo oscuro |
💀 |
Errores fatales |
La extensión funciona con logs JSON que tengan la siguiente estructura:
{"level":"info","message":"Request processed","timestamp":"2025-07-18T10:30:00Z","contextMap":{...}}
Los campos reconocidos para el nivel de severidad:
level
severity
logLevel
log_level
🐛 Solución de problemas
Los logs no se colorean
- Verifica que el archivo contenga JSON válido
- Asegúrate de que el JSON tenga un campo de nivel reconocido
- Revisa la configuración
gcp-log-formatter.autoFormat
Los filtros no funcionan
- Verifica que hay logs JSON válidos en el archivo
- Usa el selector de filtros para asegurarte de que al menos un nivel esté habilitado
- Revisa la barra de estado para ver el estado actual de los filtros
La expansión JSON no funciona
- Para expansión visual: Simplemente haz hover sobre cualquier línea JSON
- Para expansión que modifica el archivo: Coloca el cursor y usa "Toggle Expand/Collapse JSON"
📝 Ejemplos
Log JSON típico:
{"level":"error","message":"Database connection failed","timestamp":"2025-07-18T10:30:00Z","error":"Connection timeout"}
Log expandido:
{
"level": "error",
"message": "Database connection failed",
"timestamp": "2025-07-18T10:30:00Z",
"error": "Connection timeout"
}
📜 Licencia
Este proyecto está bajo la Licencia MIT - ver el archivo LICENSE
para detalles.
🔄 Changelog
v0.0.1
- ✨ Implementación inicial
- 🎨 Colorización por nivel de severidad
- 🔍 Iconos para identificación visual
- 📖 Funcionalidad de expand/collapse JSON (modifica contenido)
- 📊 Resumen en barra de estado
v0.1.0
- 🔧 Sistema de filtros por nivel de log
- 📖 Expansión visual JSON sin modificar contenido (hover)
- 🎯 Selector interactivo de filtros
- 📋 Acciones rápidas (copiar JSON, mostrar en panel)
- 🎚️ Iconos en barra de herramientas para filtros rápidos
- 📊 Barra de estado mejorada con información de filtros