Skip to content

maximeborges/bunyan-view

 
 

Repository files navigation

Rust Crates.io Crates.io

Bunyan Viewer

Screenshot

This project is a rewrite of the node-bunyan bunyan format log viewer CLI tool fully reimplemented in Rust.

Bunyan Viewer aims to be a stand-alone replacement for the node bunyan tool such that it:

  • Does not require additional runtimes (such as nodejs)
  • Can handle large log files with ease
  • Processes each log line in a memory efficient manner

Divergences

We aim to provide output that is as close as possible to the node-bunyan viewer with a few intentional divergences.

Features

Bunyan Viewer supports the following features:

  • The same output modes as the node-bunyan viewer (-o, --output flag):
    • bunyan: 0 indented JSON, bunyan's native format
    • inspect: node.js util.inspect output
    • json: JSON output, 2-space indent
    • json-N: JSON output, N-space indent, e.g. "json-4"
    • long: (the default) pretty
    • short: like "long", but more concise
    • simple: level, followed by "-" and then the message`
  • Support for conditional matching (--condition flag)
  • Local time conversion (-L, --time-local flag)
  • Filtering by level (-l, --level flag)
  • Strict mode (--strict flag)
  • Optional colorization - with a few extra colors sprinkled in (--color flag)
  • Pager support (--pager flag)
  • Decompression of gzipped archives
  • Node bunyan CLI compatibility
  • Supports viewing large log files

Limitations

Bunyan Viewer does not yet support the following:

  • Runtime log snooping via DTrace (-p flag)

Installation

Install the Bunyan Viewer into your Cargo Crates enabled environment by installing the crate:

  cargo install bunyan_view

Usage

Directly viewing one or more bunyan log files:

  bunyan logs/logs-001.log logs/logs-002.log logs/big-log-003.log.gz

View logs via piped input:

  cat logs/logs-001.log | bunyan 

Alternatively:

  bunyan < logs/logs-001.log

For additional usage help:

  bunyan --help

Testing

When running the automated testing suite, be sure to enable the dumb_terminal feature so that colorization is disabled. You can do this by invoking cargo test as follows:

  cargo test --features dumb_terminal

Other Bunyan Projects

License

This project is licensed under the Mozilla Public License Version 2.0. See the LICENSE.txt file for more details.

About

Bunyan log viewer implemented in Rust

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Rust 94.8%
  • Makefile 4.5%
  • Ruby 0.7%