# pamburus/hl

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/pamburus-hl).**

2,912 stars · 57 forks · Rust · mit

## Links

- GitHub: https://github.com/pamburus/hl
- awesome-repositories: https://awesome-repositories.com/repository/pamburus-hl.md

## Topics

`cli` `command-line-tool` `hl` `human` `json` `json-log` `json-logging` `json-logs` `log` `log-viewer` `logfmt` `logging` `logs` `rust` `structured-logging` `translates-json-logs` `viewer`

## Description

hl is a set of command-line interface tools for filtering, aggregating, streaming, and visualizing structured log data across multiple sources. It functions as a log filter, file aggregator, real-time streamer, and structured log viewer.

The project specializes in transforming JSON and logfmt data into human-readable formats for visual analysis. It enables the merging of multiple log files and compressed archives into a single chronologically sorted stream, while supporting live tracking of multiple sources into a unified real-time view.

Capabilities include field-based filtering via key-value pairs, logical query execution, and severity level thresholds. The tool manages timestamp normalization and timezone display, allows for field visibility control to reduce visual noise, and integrates with system pagers for memory-efficient navigation of large datasets.

## Tags

### Data & Databases

- [Log Stream Merging](https://awesome-repositories.com/f/data-databases/log-stream-merging.md) — Merges multiple log sources into a single unified stream sorted chronologically.
- [Field-Specific Filtering](https://awesome-repositories.com/f/data-databases/delimited-data-parsers/field-specific-filtering.md) — Isolates log records using key-value pairs, substring matching, and existence checks for specific structured data fields. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))
- [Temporal Log Sorting](https://awesome-repositories.com/f/data-databases/hierarchical-index-sorting/sorted-indexing/temporal-log-sorting.md) — Orders messages from multiple files or streams by timestamp to create a unified linear timeline. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))
- [Log Field Projections](https://awesome-repositories.com/f/data-databases/api-response-optimizations/field-masking/query-field-projections/log-field-projections.md) — Provides configurable whitelists and blacklists to determine which keys from structured log entries are visible.
- [Temporal Range Filtering](https://awesome-repositories.com/f/data-databases/custom-time-range-queries/temporal-range-filtering.md) — Limits log results to a specific timestamp range using absolute dates or relative time offsets. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))
- [Logical Search Operators](https://awesome-repositories.com/f/data-databases/search-indexing-technologies/search-indexing/search-information-retrieval/query-interfaces-dsls/logical-search-operators.md) — Executes complex log searches using logical operators and numeric comparisons to isolate specific patterns. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))

### Part of an Awesome List

- [Structured Log Parsing](https://awesome-repositories.com/f/awesome-lists/data/xml-parsing/structured-log-parsing.md) — Parses structured JSON and logfmt data into internal map structures for analysis.

### Software Engineering & Architecture

- [Predicate-Based Filters](https://awesome-repositories.com/f/software-engineering-architecture/stream-element-folding/distinct-element-filtering/predicate-based-filters.md) — Evaluates logical conditions against each log entry to determine if it should be rendered.

### System Administration & Monitoring

- [CLI Log Filters](https://awesome-repositories.com/f/system-administration-monitoring/cli-log-filters.md) — Provides a terminal interface for querying logs using severity levels, timestamp ranges, and key-value logic.
- [Log Aggregation](https://awesome-repositories.com/f/system-administration-monitoring/log-aggregation.md) — Combines multiple log files and compressed archives into one unified stream for troubleshooting.
- [Log Timestamp Normalization](https://awesome-repositories.com/f/system-administration-monitoring/log-ingestion/log-timestamp-normalization.md) — Standardizes varying date formats into a consistent internal representation for sorting and timezone shifting.
- [Real-Time Application Log Monitoring](https://awesome-repositories.com/f/system-administration-monitoring/real-time-application-log-monitoring.md) — Streams and merges live output from multiple sources into a single chronological real-time view.
- [Structured Logging](https://awesome-repositories.com/f/system-administration-monitoring/structured-logging.md) — Transforms structured JSON and logfmt data into human-readable formats for rapid visual inspection.
- [Severity Level Filtering](https://awesome-repositories.com/f/system-administration-monitoring/audit-log-filters/severity-level-filtering.md) — Restricts log output to messages that meet or exceed a specific severity level to isolate critical errors. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))
- [Output Field Filters](https://awesome-repositories.com/f/system-administration-monitoring/log-ingestion/log-field-filters/output-field-filters.md) — Allows users to hide specific fields or display only selected keys to reduce visual noise. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))
- [Log Output Formatting](https://awesome-repositories.com/f/system-administration-monitoring/log-output-formatting.md) — Controls the density and layout of multi-line log messages in the terminal. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))
- [System Logging and Debugging](https://awesome-repositories.com/f/system-administration-monitoring/system-logging-and-debugging.md) — Facilitates debugging of distributed systems by filtering and sorting logs across different timezones and severity levels.

### User Interface & Experience

- [Log Viewers](https://awesome-repositories.com/f/user-interface-experience/log-viewers.md) — Transforms structured JSON and logfmt data into human-readable formats for terminal-based visual analysis.

### Development Tools & Productivity

- [Large Scale Log Analysis](https://awesome-repositories.com/f/development-tools-productivity/large-scale-log-analysis.md) — Enables navigation of massive datasets using a system pager without loading files entirely into memory.
- [Timezone Configuration](https://awesome-repositories.com/f/development-tools-productivity/timezone-configuration.md) — Provides settings for switching log timestamps between UTC, local time, and specific named timezones for regional alignment. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))

### Operating Systems & Systems Programming

- [Output Pagers](https://awesome-repositories.com/f/operating-systems-systems-programming/terminal-command-line-environments/terminal-pagers/output-pagers.md) — Integrates with external system pagers for memory-efficient scrolling and searching of large log streams. ([source](https://cdn.jsdelivr.net/gh/pamburus/hl@master/README.md))
