Filtrar logs JSON en línea — Nivel y consulta

Filtra líneas NDJSON / JSON por nivel y subcadena. Líneas inválidas omitidas o conservadas (opción) — no se sube nada.

Cargando…
Filtro de logs JSON, nivel y texto
Conserva líneas de log NDJSON / JSON que coinciden con una severidad y una subcadena opcional. Líneas inválidas omitidas o conservadas según la opción.

Notas para desarrolladores

Lee el nivel de la primera clave presente entre level, severity, lvl (claves insensibles a mayúsculas). Alias: warning→warn, err/fatal→error, trace→debug. La consulta es una subcadena en la línea cruda; consulta vacía = pasa todo. Activa ignorar mayúsculas para ERROR vs error. onBadLine skip (predeterminado) descarta líneas JSON inválidas; keep pasa líneas crudas que coinciden con la consulta (el filtro de nivel no aplica a líneas inválidas). Niveles ausentes o no mapeados se excluyen cuando se selecciona un nivel concreto. La salida filtrada se actualiza ~300 ms tras dejar de escribir — sin botón de envío. Pega los logs primero; los controles de filtro aparecen tras el primer filtrado estabilizado. Resaltado de entrada: verde = JSON válido coincidente, violeta = inválida conservada, amarillo = inválida omitida. La salida mezcla JSON compacto (coincidencias) y texto crudo (inválidas conservadas) cuando keep está activado. Copiar, Descargar y Expandir encima de cada editor; coincidencias / conservadas / omitidas como badges compactos.

Opciones

Nivel
Conserva líneas cuya severidad mapeada coincide (o todas). Niveles ausentes/no mapeados se excluyen cuando no es «todos».
Consulta
Subcadena comparada con la línea cruda. Consulta vacía = todas las líneas que pasan el nivel. Sensible a mayúsculas por defecto.
Ignorar mayúsculas
Si está activado, la consulta ignora las mayúsculas y minúsculas en la línea sin procesar (útil para ERROR y error en logs mezclados).
En línea inválida
skip (predeterminado) descarta las líneas que no son JSON válido. keep incluye las líneas inválidas cuyo texto sin procesar coincide con la consulta. El nivel no se evalúa en líneas inválidas.

Cuándo los equipos eligen esta ruta

Aislar errores que contienen un request id. Eliminar ruido debug antes de pegar en un ticket. Clasificar NDJSON de severidad mixta de un log de contenedor. Combinar con format-json-logs después para leer.

Ejemplos concretos

Conservar solo errores (level=error)

Entrada

{"ts":"2026-07-12T10:00:01.010Z","level":"debug","service":"checkout","msg":"cache hit","key":"user:42"} {"ts":"2026-07-12T10:00:01.120Z","level":"info","service":"checkout","msg":"order created","orderId":"ord_1001"} {"ts":"2026-07-12T10:00:01.340Z","level":"warning","service":"checkout","msg":"slow query","durationMs":820,"sql":"SELECT * FROM inventory"} {"ts":"2026-07-12T10:00:01.510Z","level":"error","service":"payments","msg":"payment failed","orderId":"ord_1001","code":"card_declined"} {"ts":"2026-07-12T10:00:01.610Z","severity":"ERROR","service":"payments","msg":"payment retry exhausted","orderId":"ord_1001"} {"ts":"2026-07-12T10:00:01.700Z","level":"info","service":"webhooks","msg":"webhook delivered","event":"order.failed"} {not valid json — truncated payload {"ts":"2026-07-12T10:00:01.880Z","lvl":"err","service":"inventory","msg":"inventory lock timeout","sku":"SKU-44"} {"ts":"2026-07-12T10:00:02.010Z","level":"info","service":"checkout","msg":"request completed","status":200}

Salida filtrada

{"ts":"2026-07-12T10:00:01.510Z","level":"error","service":"payments","msg":"payment failed","orderId":"ord_1001","code":"card_declined"} {"ts":"2026-07-12T10:00:01.610Z","severity":"ERROR","service":"payments","msg":"payment retry exhausted","orderId":"ord_1001"} {"ts":"2026-07-12T10:00:01.880Z","lvl":"err","service":"inventory","msg":"inventory lock timeout","sku":"SKU-44"}

Alias warn para warning

Entrada

{"level":"warning","msg":"careful"} {"level":"info","msg":"ok"}

Salida filtrada

{"level":"warning","msg":"careful"}

Herramientas de logs relacionadas

Formatea flujos con formatear logs JSON, comprueba con validar NDJSON o explora el hub de logs.

FAQ filtro de logs JSON

Nivel + subcadena

¿La consulta admite rutas key=value?

No. La consulta es una búsqueda de subcadena solo en la línea sin procesar, sin jq ni lenguaje de claves con puntos en la v1. Usa ignorar mayúsculas cuando la capitalización varíe en tus logs.

¿Qué pasa con las líneas JSON inválidas?

Con on bad line en skip (predeterminado), se descartan y se cuentan como omitidas. Con keep, las líneas inválidas cuyo texto sin procesar coincide con la consulta se copian sin cambios, y el filtro de nivel no se aplica a ellas.

¿Qué campos de nivel se reconocen?

Se usa el primer campo presente entre level, severity y lvl (claves de objeto, sin distinguir mayúsculas). Los valores se pasan a minúsculas y se unifican: warning pasa a warn, err y fatal a error, trace a debug.

JSON/NDJSON línea a línea y access logs de Nginx/Apache — formato, filtro, validación y CSV/TSV.