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:

  1. Copia el fragmento de log conocido como bueno.
  2. Copia el fragmento de log fallido para la misma operación.
  3. Haz diff localmente.
  4. 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 curl antes 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 400 vs 422)

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 entradaMejor herramienta
Salida curl en bruto con encabezadosDiff de texto
Objeto JSON con formato bonitoDiff JSON
Línea de log con JSON incrustadoDiff de texto primero
Necesitas ruta de campo como items[0].planDiff 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.

Volver al resumen del curso