Home

Awesome

<h1 align="center"> <br> <img src="assets/logo.svg" alt="logss" width="400"> <br> <br> </h1> <h5 align="center">logs splitter</h5> <h4 align="center">A simple command line tool that helps you visualize an input stream of text.</h4>

screenshot

<p align="center"> <img src="https://github.com/todoesverso/logss/actions/workflows/ci.yaml/badge.svg"> <img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square"> <a href="https://codecov.io/gh/todoesverso/logss" > <img src="https://codecov.io/gh/todoesverso/logss/branch/main/graph/badge.svg?token=G6JEXYQQO0"/> </a> </p> <p align="center"> <a href="#key-features">Key Features</a> • <a href="#usage">Usage</a> • <a href="#installation">Installation</a> • <a href="#download">Download</a> • <a href="#roadmap">Roadmap</a> • <a href="#license">License</a> </p>

Key Features

Usage

$ logss -h
Simple CLI command to display logs in a user-friendly way

Usage: logss [OPTIONS]

Options:
  -c <CONTAINERS>  Specify substrings (regex patterns) 
  -e               Exit on empty input [default: false]
  -s               Start in single view mode [default: false]
  -C <COMMAND>     Get input from a command
  -f <FILE>        Input configuration file (overrides CLI arguments)
  -o <OUTPUT_PATH> Specify the output path for matched patterns
  -r <RENDER>      Define render speed in milliseconds [default: 100]
  -t <THREADS>     Number of threads per container for triggers [default: 1]
  -V               Start in vertical view mode
  -h               Print help

$ cat shakespeare.txt | logss -c to -c be -c or,'echo or_found >> /tmp/or.log',1 -c 'in.*of'
$ #  The containers can be a simple '-c <regex>' or '-c <regex>, <command>, <command timeout>'
$ cat real_curl_example.yaml
  command:
    - curl
    - -s
    - https://raw.githubusercontent.com/linuxacademy/content-elastic-log-samples/master/access.log
  render: 75
  containers:
    - re: GET
      trigger: echo $(date) >> /tmp/get.log
      timeout: 4
    - re: "404"
      trigger: echo __line__ >> /tmp/404.log
      timeout: 4
    - ".*ERROR|error.*"
$ logss -f real_curl_example.yaml 

Installation

So far only available in crates.io.

cargo install logss

If cargo is not a possibility then download pre compiled binaries from the download section.

Arch Linux (AUR)

You can install logss from the AUR with using an AUR helper.

paru -S logss

eget

You can install the pre build binaries using eget

eget todoesverso/logss

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.

This is a list of things I plan to do:

License

MIT