Detection
Zeal recognizes two related formats for unstructured logs:- syslog — detected when the first line starts with a month abbreviation (RFC 3164:
Jan 15 10:30:00 ...) or an RFC 5424 priority tag (<13>...). Zeal uses a dedicated syslog parser internally. - plain text — the fallback for everything else that isn’t JSON, logfmt, or syslog.
Example log lines
Query examples
CONTAINS is the most reliable operator for plain text because the entire line is available as message:
Level and timestamp extraction
For plain text lines, Zeal attempts to detectlevel and timestamp automatically using common patterns:
[ERROR]/[WARN]bracketed tokens- Bare level words:
ERROR,WARN,WARNING,INFO,DEBUG,TRACE,FATAL,CRITICAL - ISO 8601 / space-separated timestamps at the start of the line:
2024-01-15T10:30:06Zor2024-01-15 10:30:06
WHERE level = "error" works as expected. When it is not found, level is reported as unknown and equality filters on it will not match.
Field extraction for plain text is best-effort.
CONTAINS searches the full raw line and is always reliable. Structured field filters (=, >=, etc.) depend on successful pattern detection.