High-performance log viewer and processor that transforms logs in JSON and logfmt formats into a human-readable output. Built with efficiency in mind, it enables quick parsing and analysis of large log files with minimal overhead.
Usage
Usage: hl [OPTIONS] [FILE]...
Option
Environment
Description
--config <FILE>
$HL_CONFIG
Configuration file path
-s, --sort
Sort messages chronologically
-F, --follow
Follow input streams and sort messages chronologically during time frame set by --sync-interval-ms
--tail <N>
Number of last messages to preload in --follow mode (default: 10)
--sync-interval-ms <MILLISECONDS>
Synchronization interval for live streaming (default: 100)
--paging <WHEN>
$HL_PAGING
Control pager usage (default: auto) [auto, always, never]
-P
Alias for --paging=never, overrides --paging
--help
Print help
-V, --version
Print version
Filtering Options
Option
Environment
Description
-l, --level <LEVEL>
$HL_LEVEL
Filter messages by level
--since <TIME>
Filter messages by timestamp >= TIME
--until <TIME>
Filter messages by timestamp ⇐ TIME
-f, --filter <FILTER>
Filter by field values, e.g. k=v, k~=v, k~~=v
-q, --query <QUERY>
Filter using query expressions
Output Options
Option
Environment
Description
--color [<WHEN>]
$HL_COLOR
Control color output (default: auto) [auto, always, never]
-c
Alias for --color=always, overrides --color
--theme <THEME>
$HL_THEME
Set color theme (default: uni)
-r, --raw
Output raw source messages
--no-raw
Disable raw output, overrides --raw
--raw-fields
Output raw field values without formatting
-h, --hide <KEY>
Hide/reveal fields by key (use !* to reveal all)
--flatten <WHEN>
$HL_FLATTEN
Whether to flatten objects (default: always)
-t, --time-format <FORMAT>
$HL_TIME_FORMAT
Time format (default: %b %d %T.%3N)
-Z, --time-zone <TZ>
$HL_TIME_ZONE
Set time zone (default: UTC)
-L, --local
Use local time zone
--no-local
Disable local time zone
-e, --hide-empty-fields
$HL_HIDE_EMPTY_FIELDS
Hide empty fields
-E, --show-empty-fields
$HL_SHOW_EMPTY_FIELDS
Show empty fields, overrides hide option
--input-info <LAYOUTS>
Set input info layout (default: auto) [auto, none, minimal, compact, full]
-o, --output <FILE>
Write output to file
Input Options
Option
Environment
Description
--input-format <FORMAT>
$HL_INPUT_FORMAT
Set input format (default: auto) [auto, json, logfmt]
--unix-timestamp-unit <UNIT>
$HL_UNIX_TIMESTAMP_UNIT
Unit for Unix timestamps (default: auto) [auto, s, ms, us, ns]
--allow-prefix
$HL_ALLOW_PREFIX
Allow non-JSON prefixes
--delimiter <DELIMITER>
Message delimiter, e.g. [NUL, CR, LF, CRLF, custom string]