Bunyan Viewer

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, --outputflag):bunyan: 0 indented JSON, bunyan's native formatinspect: node.jsutil.inspectoutputjson: JSON output, 2-space indentjson-N: JSON output, N-space indent, e.g. "json-4"long: (the default) prettyshort: like "long", but more concisesimple: level, followed by "-" and then the message`
- Local time conversion (
-L, --time-localflage) - Filtering by level (
-l, --levelflag) - Strict mode (
--strictflag) - Optional colorization - with a few extra colors sprinkled in (
--colorflag) - Pager support (
--pagerflag) - 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 (
-pflag) - Conditional filtering (
-c, --conditionflag)
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
- node-bunyan - The original that inspired this project
- bunyan-rs - Another rust port of bunyan
- log4j2-bunyan-layout - Bunyan Layout for Log4j2
License
This project is licensed under the Mozilla Public License Version 2.0. See the LICENSE.txt file for more details.