Log Parser
Drop a log file — get levels, a timeline, the top repeated messages and filters by level, time and text.
Settings
Auto format · plain search
How to Use Log Parser in 3 Steps
Open a log
Drop a .log, .txt or .jsonl file, or paste lines. JSON lines, Apache/Nginx access logs, syslog and “timestamp LEVEL message” logs are recognised automatically; stack traces stay attached to their line.
Filter
Untick levels you do not need, search for text (or a regex), and narrow to a time window with From and To.
Read and export
See counts per level, a timeline, the most repeated messages (and status codes, paths and IPs for access logs). Download the matching lines as a log, CSV or JSON.
Log Parser — Frequently Asked Questions
Which log formats are supported?
JSON lines (level/msg/time fields, including pino and bunyan numeric levels), Apache and Nginx common/combined access logs, syslog (RFC 3164 and 5424) and any text log that starts lines with a timestamp and a level word. Lines that match nothing are kept as “Other”.
How are access-log levels decided?
Access logs have no level, so status codes are mapped: 5xx = Error, 4xx = Warn, everything else = Info. Filter by level to jump straight to failures.
How are “top messages” counted?
Messages are grouped after replacing numbers, hex ids and UUIDs with #, so “user 41 timed out” and “user 97 timed out” count as one repeated message.
Why do some lines have no time?
If a line has no recognisable timestamp it is still shown and counted, but a From/To time filter hides it. Syslog lines without a year are assumed to be in the current year.
How big a log can it handle?
Up to 50 MB. All lines are parsed and counted; the table shows the first 1,000 matching lines to stay fast, and downloads include every match.
Is my data uploaded anywhere?
No. Parsing and converting happen in JavaScript inside your browser tab. Your text and files are never sent to Toolity or anyone else.