Visor de archivos de log
Abre en tu navegador archivos de log de aplicaciones, servidores y JSON de cientos de megabytes. Las líneas se colorean por nivel, las trazas de pila se mantienen unidas a su error y puedes filtrar por nivel, texto, regex o un rango de tiempo, saltar entre errores y seguir un archivo que crece como con tail -f.
Última actualización:
Cómo usar Visor de archivos de log
- Abre un log: arrastra un archivo .log, .txt o .jsonl a la zona de carga, pulsa Abrir archivo de log o pega líneas con Pegar texto. Incluye tres logs de ejemplo.
- Filtra por nivel: haz clic en las etiquetas de nivel para ocultar o mostrar ERROR, WARN, INFO y los demás, o pulsa Solo errores.
- Busca: escribe texto en el cuadro de filtro; activa .* para expresiones regulares, Aa para distinguir mayúsculas o No para ocultar las líneas que coinciden.
- Acota el tiempo: arrastra sobre el gráfico de línea temporal o escribe una hora de inicio y de fin.
- Inspecciona las entradas: haz clic en una línea para ver la entrada completa, su traza de pila o el JSON formateado; usa Error siguiente (o la tecla E) para saltar entre fallos.
- Sigue en vivo: pulsa Iniciar tail -f y elige un archivo para ver las nuevas líneas a medida que tu aplicación las escribe.
Formatos de log que reconoce el visor
| Formato | Línea de ejemplo | Nivel y hora obtenidos de |
|---|---|---|
| Log4j / Logback / SLF4J | 2026-03-12 14:32:05.123 ERROR [main] c.e.App - Failed | Palabra de nivel después de la marca de tiempo; fecha ISO y milisegundos |
| Python logging | 2026-03-12 14:32:05,123 - app - WARNING - Disk 91% full | Nombre del nivel; coma antes de los milisegundos |
| Líneas JSON (pino, bunyan, Serilog, ECS) | {"level":50,"time":1773324725123,"msg":"query failed"} | level, severity, @l o log.level; time, timestamp, @timestamp |
| Access log de nginx / Apache | 203.0.113.4 - - [12/Mar/2026:14:32:05 +0000] "GET / HTTP/1.1" 502 157 | Código de estado (5xx error, 4xx advertencia); fecha entre corchetes con desfase |
| Error log de Apache | [Thu Mar 12 14:32:05.1 2026] [core:error] [pid 812] AH00037 | [módulo:nivel] entre corchetes |
| Exportación de syslog / journald | Mar 12 14:32:05 web1 sshd[812]: error: maximum auth attempts | Palabra de nivel en el mensaje; mes y día (se supone el año actual) |
| Android logcat (threadtime) | 03-12 14:32:05.123 1234 5678 E ActivityManager: ANR | Una sola letra: V, D, I, W, E o F |
Filtros regex que ahorran tiempo
Activa .* y prueba estos patrones (son expresiones regulares de JavaScript):
Exception|Error:encuentra todas las excepciones, incluidas las registradas con nivel INFO." 5\d\dmuestra solo los errores de servidor en un access log;" (4\d\d)muestra los errores de cliente.took (\d{4,}) msencuentra operaciones que tardaron 1,000 ms o más.req(uest)?Id[=:"]+abc123sigue una sola petición a través de un log JSON o de texto.health|heartbeat|keepalivecon No activado oculta el ruido rutinario.
Atajos de teclado cuando la lista del log tiene el foco: las flechas mueven la selección, Intro abre la entrada, Esc la cierra, E salta al siguiente error y Shift+E al anterior.
Preguntas frecuentes
¿Qué tamaño de archivo de log puedo abrir?
Los archivos se leen en bloques de 8 MB y solo se dibujan las líneas visibles, así que los logs de varios cientos de megabytes y millones de líneas se abren sin problemas en una laptop normal. El límite práctico es la memoria de tu navegador, aproximadamente entre 1 y 1.5 GB de texto. Para archivos más grandes, recorta primero el intervalo de tiempo que necesitas, por ejemplo con tail -n o split.
¿Se sube mi log a un servidor?
No. El archivo lo lee JavaScript en tu dispositivo y nunca sale de él, algo importante porque los logs suelen contener direcciones IP, ID de usuario, tokens o datos de clientes. Incluso puedes desconectarte de internet una vez cargada la página.
¿Cómo detecta los niveles de log?
Busca palabras de nivel estándar cerca del inicio de cada entrada (ERROR, WARN, INFO, DEBUG, TRACE, FATAL, CRITICAL, SEVERE y similares), pares clave-valor como level=error, formas entre corchetes como [warn], los niveles de una letra de Android logcat y glog, y los campos de nivel de los logs JSON, incluidos los números de pino y bunyan (10 trace, 20 debug, 30 info, 40 warn, 50 error, 60 fatal). En los logs de acceso decide el estado HTTP: 5xx es un error y 4xx una advertencia.
¿Cómo funciona tail -f en el navegador?
En Chrome, Edge y Opera, la File System Access API permite que una página mantenga un acceso a un archivo que elijas. El visor revisa el archivo una vez por segundo y añade los bytes nuevos, como tail -f en Linux. Si el archivo se reduce (rotación o truncado del log), lo vuelve a cargar. Firefox y Safari todavía no admiten esta API, así que en ellos tienes que volver a abrir el archivo para actualizarlo.
¿Por qué algunas líneas se agrupan con la línea de arriba?
Cuando la mayoría de las líneas de un archivo empiezan con una marca de tiempo, cualquier línea sin ella (un marco de pila, una línea 'Caused by:' o un mensaje partido) pertenece a la entrada anterior. La agrupación mantiene la traza de pila junto a su error, así que al filtrar por ERROR también se muestra la traza, y una búsqueda por el nombre de la excepción muestra la entrada completa.
¿En qué zona horaria están las marcas de tiempo?
Las marcas de tiempo con un desfase explícito o Z (UTC) se convierten a tu hora local. Las que no tienen zona, que son las de la mayoría de los logs de texto, se consideran ya en tu hora local. Las líneas de syslog no tienen año, así que se supone el año actual.
¿Se prueban todas las herramientas de FreeToolCabin para comprobar su calidad y precisión?
Sí. Cada herramienta del sitio pasa pruebas automáticas en navegadores reales para comprobar que el resultado es correcto y que no hay errores. Si encuentras un fallo o tienes una sugerencia, escríbenos a [email protected] y lo revisaremos.