Herramientas de logs y observabilidad

Formatear stack tracepara JavaScript, Python, Java, Go, C# y Rust

Pega un stack trace, deja que la detección automática elija el lenguaje (o elígelo tú) y pliega los frames de framework que te estorben.

Formatear stack trace

Ejemplo:
Lenguaje

Stack trace

Todo se procesa localmente en tu navegador. El stack trace nunca se sube.

Frames

Escribiendo… se analizará automáticamente

Un stack trace crudo volcado en una terminal o un reporte de bug es un muro de líneas "at ..." o "File ..." casi idénticas, y el único frame que realmente señala tu código suele quedar enterrado en medio de las llamadas internas del framework. Ya sea que lo llames formatear stack trace, usar un analizador de stack trace o conseguir un seguimiento de pila legible, el trabajo es el mismo: convertir ese muro de texto en una traza de pila que se puede leer de un vistazo.

Útil justo en el momento en que aparece una excepción real —desde la consola del navegador, un log de CI, un reporte de crash o un mensaje de un compañero— y necesitas la cadena de llamadas, el archivo y la línea exactos, y la causa raíz, sin contar a mano los bloques "Caused by:" ni desplazarte por cincuenta frames de node_modules para encontrar tu propio código. Todo el procesamiento ocurre en la pestaña del navegador; nada de lo que pegas se sube a ningún lado.

Por qué usar esta herramienta para formatear stack trace

Hecha para seis formatos reales de stack trace, no un patrón genérico forzado a encajar.

Detección automática que igual puedes anular

Al pegar el texto, el lenguaje suele detectarse correctamente analizando la sintaxis de los propios frames, así que casi nunca hace falta tocar el desplegable. Cuando una traza mezcla estilos o la detección se equivoca, seis lenguajes explícitos (JavaScript/Node, Python, Java/Kotlin, Go, C#/.NET, Rust) están a un clic, para no quedar atrapado en una suposición que no puedes corregir.

Un desplegable de lenguaje cambiando de detección automática a una elección manual mientras la misma traza se vuelve a analizar

Cadenas Caused by mostradas como bloques separados

Una excepción de Java con una cadena Caused by, o un traceback de Python encadenado por "During handling of...", se divide en bloques independientes y etiquetados, en orden, así que la causa raíz al final es tan fácil de encontrar como la excepción externa al principio — en lugar de un flujo largo e indistinguible de frames.

Un stack trace de Java dividido en dos bloques conectados por una etiqueta Caused by, con la causa raíz mostrada al final

El ruido de los frameworks se pliega en una línea

Con Plegar frames de framework activado, los frames consecutivos de node_modules, site-packages u org.springframework se pliegan en una línea "N frames plegados", así tu propio código aparece primero — cualquier grupo plegado se vuelve a abrir con un clic.

Una serie de frames de node_modules plegada en una línea de resumen, con el frame propio del usuario justo encima

Tres cosas que esta lista de frames hace automáticamente por ti

Analiza una traza, pliega lo que no necesitas leer y copia exactamente lo que hace falta.

01

Pega cualquiera de los seis formatos soportados

Pega un stack trace crudo de JavaScript/Node, Python, Java/Kotlin, Go, C# o Rust sin necesidad de limpiarlo antes. El análisis se dispara automáticamente unos 350 milisegundos después de dejar de escribir, o desactiva el análisis automático para usar un botón manual más Ctrl/Cmd+Enter.

  • Carga uno de los tres ejemplos incorporados para ver una cadena Caused by, un traceback de Python y ruido de node_modules sin escribir nada
  • Una línea que no coincide con ningún formato conocido se conserva tal cual y se marca como "No reconocido", sin hacer fallar todo el análisis
02

Pliega los frames que no necesitas leer

Los frames consecutivos de node_modules, site-packages, java./org.springframework., runtime., std::/core:: o System. (según el lenguaje detectado) se pliegan en una línea "{count} frames plegados" cuando la opción está activada. Cambiar la opción no vuelve a analizar nada, solo reagrupa el mismo resultado al instante.

  • Un único frame de framework rodeado de tu propio código no se pliega — el plegado solo entra en acción a partir de dos frames consecutivos o más
  • Cada grupo plegado se puede expandir individualmente con un clic, sin desactivar toda la opción
03

Copia exactamente lo que necesitas

Haz clic en el file:line de cualquier frame reconocido para copiar solo esa ubicación — útil para saltar directo a esa línea en tu editor. Copiar y Descargar exportan toda la traza reformateada como texto plano en el estilo propio de ese lenguaje, y ambos se desactivan en cuanto cambias la entrada o una opción, así nunca te llevas una copia desactualizada.

  • El tipo y el mensaje de la excepción se destacan encima de cada bloque, incluida cada causa Caused by
Formatear stack trace ahora

Lo que esta lista de frames aporta más allá del texto crudo

Campos estructurados, detección de cadenas y plegado de ruido para seis formatos reales.

Reconocimiento de frames para seis lenguajes

JavaScript/Node, Python, Java/Kotlin, Go, C#/.NET y Rust tienen cada uno su propia sintaxis de frame, dividida en nombre de función, archivo, línea y columna donde el formato lo permite — no simplemente línea por línea, lo que hace que formatear stack trace con esta herramienta se lea como la salida del propio runtime.

Cadenas Caused by y traceback

La cadena Caused by de Java y los tracebacks de varios niveles de Python se detectan como bloques independientes, en orden, causa raíz incluida — sin contar niveles de sangría a simple vista.

Ruido de frameworks plegable

node_modules, site-packages, java./org.springframework. y otros espacios de nombres de framework se pliegan en una línea de resumen según las reglas propias de cada lenguaje, y cualquier grupo plegado se vuelve a abrir con un clic.

Copia de file:line por frame

Cada frame reconocido tiene su propio control de copia solo para su archivo y línea, aparte de copiar la traza completa.

Las líneas no reconocidas siguen visibles

Una línea que no coincide con la sintaxis del formato elegido no se descarta: se mantiene en su lugar, marcada como "No reconocido", sin hacer fallar todo el análisis.

Lo que esta herramienta hace y lo que no hace

El comportamiento real y sus límites, no un descargo de responsabilidad genérico.

Sin simbolización ni reversión de source maps
Los nombres de función minificados y las rutas comprimidas se muestran tal como se pegaron. Volverlos a su ubicación original en el código fuente requeriría el source map o los símbolos de depuración correspondientes, que esta herramienta para formatear stack trace nunca sube ni descarga.
Solo stack traces de texto, no volcados binarios
Los core dumps, minidumps y otros artefactos binarios de crash no se aceptan — pega el stack trace de texto que tu runtime o tu herramienta de reportes de crash ya imprimió.
Seis lenguajes declarados, no una suposición abierta
Solo se reconoce la sintaxis de frame de JavaScript/Node, Python, Java/Kotlin, Go, C#/.NET y Rust. Las trazas de Ruby, PHP, C/C++ y Swift volverán en su mayoría como "No reconocido" en lugar de forzarse al formato equivocado.
Copiar y descargar siempre producen texto plano
El resultado reformateado nunca se envuelve en un bloque de código Markdown, aunque algunas herramientas de la competencia sí lo hacen — se queda en texto plano para pegarse limpio en una terminal, un editor o un ticket.

Preguntas frecuentes sobre formatear stack trace

Respuestas a las preguntas que surgen antes de pegar una excepción real en una herramienta en línea.

¿Es seguro pegar un stack trace en una herramienta en línea?

Sí — esta herramienta analiza todo como JavaScript dentro de la pestaña actual de tu navegador. Nada de lo que pegas se sube, se registra ni se envía a un servidor, incluidas las rutas de archivos locales o nombres de usuario que aparezcan en los frames.

¿Cómo oculto los frames de node_modules en un stack trace?

Activa Plegar frames de framework en la barra de herramientas. Los frames consecutivos de node_modules (o site-packages, java./org.springframework., etc.) se pliegan en una línea, y al hacer clic en ella se vuelve a expandir el grupo.

¿Esta herramienta para formatear stack trace soporta Java, Python y JavaScript?

Sí, junto con Go, C#/.NET y Rust — seis lenguajes en total. La detección automática suele elegir el lenguaje correcto a partir de la sintaxis de los frames; también puedes forzar un lenguaje específico desde el desplegable.

¿Cuál es la diferencia entre stack trace, traceback y backtrace?

Es el mismo concepto con nombres distintos según el ecosistema — Python lo llama traceback, C y Ruby suelen decir backtrace, y JavaScript, Java, C#, Go y Rust generalmente dicen stack trace. Esta herramienta reconoce todos ellos; usa el término con el que estés más familiarizado.

¿Elimina las rutas de archivos o nombres de usuario antes de compartir?

No — las rutas y otros detalles se muestran tal como se pegaron, nada se oculta automáticamente. Como de todos modos nada sale de tu navegador, revisa el texto tú mismo antes de pegarlo en un lugar menos privado, como un rastreador de errores público.

¿Funciona también con panics de Go y backtraces de Rust, no solo excepciones?

Sí. Los volcados de goroutine de Go (una línea de función más una línea file:line con sangría de tabulación) y la salida numerada de Rust con RUST_BACKTRACE=1 se analizan igual que los lenguajes con excepciones, incluidos sus propios patrones de frames de framework como runtime. o std::/core::.

¿Encontraste una traza real que esta herramienta analiza mal?

Formatear stack trace ahora

Pega un stack trace de JavaScript, Python, Java, Go, C# o Rust y obtén una lista de frames legible en menos de un segundo — sin subir nada, sin cuenta.

Guarda esta herramienta gratuita en tus favoritos para la próxima excepción que aparezca en tu terminal o tu bandeja de entrada.

Todo el análisis ocurre localmente en tu navegador.