pino-noir
A (hopefully -!) robust streaming log viewer. Currently supports only pino log types. Future plans to allow any parsable log lines to be displayed/filtered/grouped/and searched. Uses ink to render react to the cli.
Demo
Install
- Clone the repo
- Install the dependencies
- run the
dev:ui
script:$ npm run dev:ui
CLI
$ pino-noir --help
Usage
$ pino-noir
Options
--file path to pino log file
Examples
$ pino-noir --file=$HOME/.logs/some.log
$ cat some.log | pino-noir
Keybindings
Uses vim keybindings for navigation
j
/k
- down/upg
/G
- bottom of list / top of listw
/s
- page up/page downreturn
- select log line to view expanded details
TODO:
- stream from local file
- multi panel layout
- Log roll colors
- Log roll scrolling
- Log Details view
- search with
/
- filter with
{
using json path{$.level >= 50}
- group logs with
[
using json path to allow for easy workflow tracking[$.task.id]
which would group all logs with a matching value at:{..., task:{id, ...} ... }
. - Global settings with
$HOME/.config/.noirrc
- Project settings with
$CWD/.noirrc
merged with global - Themeing with Base16
- Configurable Tokenizer
- Streaming Data Source (cloudwatch, elasticsearch, kinesis, etc...)
License
This software is licensed under the WTF Public License. See LICENSE
for specifics.