Hl
lastmod 2025-12-04created 2025-12-042 edits
A high-performance log viewer that turns JSON/logfmt logs into a human-readable format
About
- A high-performance log viewer and processor that parses JSON and logfmt logs and shows them in a single human-readable view
- Scans large log files at around 2GiB per second, and quickly handles hundreds of GB and hundreds of files
- Supports field-based filtering (-f), level filtering (-l), and timestamp range filtering (--since/--until), handling log exploration with complex conditions in a single tool
- Provides a query language (--query) that combines logical operators, set operations, substrings, wildcards, regular expressions, etc., enabling elaborate log queries
- Automatically integrates with external pagers such as less by default; the --paging/-P option gives fine control over auto/always/never
- The -s option sorts logs chronologically, and indexing allows fast lookups on later filtering without rescanning
- The -F follow mode and the --tail option merge real-time logs from multiple sources and stream them in chronological order for observation
- Combinations of --hide, --hide '*', and --hide '!field' control hiding/showing per field, and -e/-E choose whether empty fields are hidden automatically
- Time format and time zone can be configured flexibly through the --time-format, --time-zone, and --local options and environment variables
- Provides a configuration system that hierarchically merges YAML/TOML/JSON-based config files, environment variables starting with the HL_ prefix, and CLI arguments
- A theme system supports applying various color themes such as dark/light and 16-color/256-color/true color, and loading custom theme files
- Officially supports installation paths on various platforms, including macOS (Homebrew), Linux (curl+tar, pacman, cargo), Windows (Scoop, cargo), and NixOS (nix run/profile)