JSON Lines
{"ts":"2024-01-15T13:55:36Z","level":"error","msg":"failed","status":500}ts · level · msg · status
Lantern recognizes common formats, normalizes timestamps and levels, and lets you query messages and parsed fields in the same terminal workflow.
Open a file, send a stream over standard input, or start with the included deterministic sample. Format detection happens as Lantern reads.
{"ts":"2024-01-15T13:55:36Z","level":"error","msg":"failed","status":500}ts · level · msg · status
time=2024-01-15T13:55:36Z level=info msg="GET /x" status=200time · level · msg · status
127.0.0.1 - - [10/Oct/2000:13:55:36 -0700] "GET /x HTTP/1.0" 200 2326host · request · status · bytes
CEF:0|Security|threatmanager|1.0|100|worm stopped|10|src=10.0.0.1vendor · product · severity · src
<34>Oct 11 22:14:15 host su[1234]: failed loginpriority · host · process · message
2024-01-15 13:55:36 ERROR disk fulltimestamp · level · message
lantern-ant /var/log/app.logkubectl logs -f my-pod | lantern-antlantern-ant samples/app.jsonlPress /, enter a query, then press Enter. Space-separated clauses are joined with AND.
status>=500Find events whose parsed status is 500 or higher.
status>=400 source=auth-service declinedClauses are ANDed, so every result matches the status, source, and message term.
endpoint~^/v1/ -healthzMatch the versioned API path while excluding health checks.
has:trace_id level=errorRequire a trace identifier and an error-level event.
missing:status timeoutFind timeout messages whose parsed event has no status field.
field=valuefield>=400field~regexhas:field-wordUse the Quickstart for the first five minutes, or go to the repository for the complete query grammar and format reference.