Lección 5
Comparar logs y respuestas de API
Encuentra regresiones en fragmentos de log, salida curl y cuerpos de respuesta sin abrir un diff completo del IDE.
Los logs y las respuestas de API suelen llegar como texto copiado, no como archivos rastreados. El diff de texto es ideal para estas comprobaciones rápidas antes/después.
Comparación de fragmentos de log
Casos útiles:
- Stack traces de error antes y después de un despliegue
- Logs de petición/respuesta alrededor de un endpoint que falla
- Salida de jobs worker de dos ejecuciones
- Líneas de log filtradas copiadas de un dashboard
Flujo de trabajo:
- Copia el fragmento de log conocido como bueno.
- Copia el fragmento de log fallido para la misma operación.
- Haz diff localmente.
- Céntrate en la primera línea modificada, no en todo el bloque ruidoso.
Los logs suelen contener timestamps, IDs de petición e IDs de trace que cambian en cada ejecución. Ignóralos mentalmente, o recórtalos antes del diff cuando sea posible.
Comparación de respuestas de API
Casos útiles:
- Salida
curlantes y después de un cambio backend - Respuesta transformada por gateway vs respuesta upstream
- Cambios en la forma de paginación
- Cambios en payloads de error (diferencias de cuerpo
400vs422)
Ejemplo:
{"status":"ok","items":[{"id":1,"name":"Ada"}]}
{"status":"ok","items":[{"id":1,"name":"Ada","plan":"pro"}]}
Si el payload es JSON válido y te importa la estructura a nivel de campo, el diff JSON puede ser mejor. Si el cuerpo es parcial, minificado, escapado o mezclado con encabezados, el diff de texto suele ser más rápido.
Diff de texto vs diff JSON para respuestas
| Forma de entrada | Mejor herramienta |
|---|---|
| Salida curl en bruto con encabezados | Diff de texto |
| Objeto JSON con formato bonito | Diff JSON |
| Línea de log con JSON incrustado | Diff de texto primero |
Necesitas ruta de campo como items[0].plan | Diff JSON |
Conclusión clave
Para logs y respuestas copiadas, el diff de texto ayuda a detectar el primer cambio significativo rápidamente. Recorta ruido, compara la muestra útil más pequeña y escala a diff JSON solo cuando importe la estructura.
Prueba ambos lados en el Comparador de diff de texto con una muestra corta de respuesta antes de comparar payloads completos.