ada-lovecraft / pino-noir

A (soon to be -!) robust universal log manipulation tui. Search/Filter/Group local and streaming logs.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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

asciicast

Install

  1. Clone the repo
  2. Install the dependencies
  3. 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/up
  • g/G - bottom of list / top of list
  • w/s - page up/page down
  • return - 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.

About

A (soon to be -!) robust universal log manipulation tui. Search/Filter/Group local and streaming logs.

License:Do What The F*ck You Want To Public License


Languages

Language:JavaScript 90.4%Language:TypeScript 9.6%