Log parser
Paste the log. The pattern is found for you and shown beside your lines with the matches counted — then the lines are records you can filter, open and compare.
What you get
- Detects the pattern in the 5-line sample — timestamp, level, service, request id, message — and shows it as chips with a live preview
- Says how many lines matched — “matches N of M lines · K kept as raw” — and keeps the unmatched ones in view
- Lifts key=value pairs (logfmt) out of the message into fields of their own
- Reads a Kibana Discover table copied as text — the time in Kibana’s own format, the columns split on runs of spaces — with a pattern written for exactly that paste
- Level chips, a field=value filter, a per-record panel, Compare two runs by record, Convert to CSV, NDJSON or a Markdown table
- Saves a pattern you wrote for the next file that looks like it
What it will not do
- Tail or follow a file, or connect to a log store. It reads the text you paste or drop.
- Invent structure. A line the pattern does not match is kept as raw text and counted, not dropped or guessed at.
- Ask twice. The question is answered once per file, and Keep as text is a real answer with a door back.
The shapes it knows
- Kibana Discover · copied rows
fields: ts · level · msg
- Kibana document · field per line
fields: fieldName · fieldValue
- Apache / nginx combined
fields: remote_addr · ident · remote_user · ts · request · status · bytes · referer · user_agent
- syslog · RFC 5424
fields: pri · version · ts · host · app · procid · msgid · sd · msg
- syslog · RFC 3164
fields: pri · ts · host · tag · pid · msg
- Rails / Ruby logger
fields: sev · ts · pid · level · progname · msg
- bracket prefix + JSON tail
fields: prefix · level · json
- timestamped logfmt
fields: ts · level · service · request_id · msg · pairs
- logfmt
fields: pairs
The sample
What the first sample opens — a real file, not an illustration written for this page.
in VS Code
Read as records asks the reading question as QuickPick steps — the shape it matched, or your regex — then the rows open beside the text.
Questions
Which log formats does it read?
Logfmt, and any line with a timestamp, a level and a message it can find a pattern for. JSON lines open as NDJSON instead. A file it cannot find a pattern in is offered as text.
Can I write my own pattern?
Yes — a regular expression, edited beside the preview and saved for the next file that matches it.
Does it handle a Kibana or Elastic export?
A Discover CSV export opens as rows — see the CSV page. A raw log pasted from a console opens here.
What happens to lines that do not match?
They are counted — “N kept as raw” — and stay in the list as raw lines, never hidden.