#input-stream #tui #logs #terminal #command-line-tool #split #cli

bin+lib logss

A simple command line tool that helps you visualize an input stream of text

4 releases ()

1.0.0-beta Sep 4, 2023
0.0.3 Jun 14, 2024
0.0.2 Dec 29, 2023
0.0.1 Oct 19, 2023

#77 in Visualization

MIT license

83KB
2K SLoC


logss

logs splitter

A simple command line tool that helps you visualize an input stream of text.

screenshot

Key FeaturesUsageScreenshotsDownloadRoadmapLicense

Key Features

  • Select render/stream speed
  • Automatic color assigned to each string match
  • Vertical and Horizontal view
  • Pause and continue stream
  • Scroll Up/Down
  • Delete containers on runtime
  • Add new containers on runtime
  • Dedicated container for raw stream
  • Toggle line wrapping
  • Zoom into a specific container
  • Containers Show/Hide
  • Support for regexp
  • Support for configuration file
  • Support for explicit command (no need to pipe into it)
  • Send all matched lines to dedicated files
  • Consolidated view with highlighted items

Usage

$ logss -h
Simple cli command to show logs in a friendly way

Usage: logss [OPTIONS]

Options:
  -c <CONTAINERS>  Finds the substring (regexp)
  -C <COMMAND>     Gets input from this command
  -r <RENDER>      Defines render speed in milliseconds [default: 100]
  -f <FILE>        Input config file (overrides cli arguments)
  -V               Start in vertical view mode
  -h               Print help

$ cat shakespeare.txt | logss -c to -c be -c or -c 'in.*of'
$ # 
$ cat real_curl_example.yaml
  command:
    - curl
    - -s
    - https://raw.githubusercontent.com/linuxacademy/content-elastic-log-samples/master/access.log
  render: 75
  containers:
    - GET
    - "404"
    - ".*ERROR|error.*"
$ logss -f real_curl_example.yaml 

Screenshots

File Configuration

asciicast

Zooms

Pause

Vertical toggle

Dynamic input and removal

Configuration file
$ cat shakespeare.txt | logss -f example_config.yml
Command
$ logss -C cat shakespeare.txt

Download

Pre compiled binaries for several platforms can be downloaded from the release section.

Roadmap

This is just a personal project intended to learn Rust, so things move slowly. Currently it is an Alpha release because there are several things missing but it works and can be useful for someone.

This is a list of things I plan to do:

  • Add documentation (the rust way)
  • Refactoring (as I learn more Rust things)
  • Tests
  • Smart timestamp highlights
  • ... whatever I can think of when I am using it

License

MIT

Dependencies

~9–22MB
~254K SLoC