Skip to content

Commit

Permalink
new: added features and performance summary to the top
Browse files Browse the repository at this point in the history
  • Loading branch information
pamburus committed Feb 11, 2024
1 parent 3ce558f commit 7a16d1e
Showing 1 changed file with 32 additions and 1 deletion.
33 changes: 32 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# hl
Log viewer which translates JSON logs into pretty human-readable representation. It is a faster alternative to [humanlog](https://github.com/aybabtme/humanlog) and [hlogf](https://github.com/ssgreg/hlogf) with several additional features.
A fast and powerful log viewer that translates JSON logs into a pretty human-readable format.
High performance and convenient features are the main goals.

## Features summary

* [Automatic usage](#automatic-usage-of-pager) of the [less](https://github.com/vbwagner/less) pager by default for convenience.
* Log streaming with the `-P` flag that disables the pager.
* Log record [filtering by field key/value pairs](#filtering-by-field-values) with the `-f` option with support for hierarchical keys.
* Quick and easy [filtering by level](#quick-filtering-by-log-level) with the `-l` option.
* Quick and easy [filtering by timestamp range](#filtering-by-time-range) using the `--since` and `--until` options and intuitive formats:
* RFC-3339 timestamp format.
* Current configured timestamp output format with the `-t` option or environment variable.
* Human friendly shortcuts like `today`, `yesterday`, `friday` or relative offsets like `-3h` or `-14d`.
* Quick and easy [hiding and unhiding](#hiding-or-showing-selected-fields) of fields with the `-h` option.
* Hide empty fields with the `-E` flag.
* Lightning fast [message sorting](#sorting-messages-chronologically) with automatic indexing for local files using the `-s` flag.
* Handles ~ 1 GiB/s for the first scan and allows fast filtering by timestamp range and level without scanning the data afterwards.
* Works fast with hundreds of local files containing hundreds of gigabytes of data.
* Reindexes large, growing files at lightning speed, skipping unmodified blocks, ~10 GiB/s.
* Follow mode with live message sorting by timestamp from different sources using the `-F` flag and preview of several recent message with the `--tail` option.
* Custom complex [queries](#performing-complex-queries) that can include and/or conditions and much more.
* Non-JSON prefixes with `--allow-prefix` flag.
* Displays timestamps in UTC by default and supports easy timezone switching with the `-Z` option and the `-L` flag for a local timezone.
* Customizable via [configuration](#configuration-files) file and environment variables, supports easy [theme switching](#selecting-current-theme) and custom [themes](#custom-themes).

## Performance comparison chart

### Performance comparison with [humanlog](https://github.com/humanlogio/humanlog), [hlogf](https://github.com/ssgreg/hlogf) and [fblog](https://github.com/brocode/fblog)

![performance chart](doc/performance-chart.svg)

* See [performance](#performance) section for more details.

## Installation options

Expand Down

0 comments on commit 7a16d1e

Please sign in to comment.