Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dekobon/bunyan-view
Bunyan log viewer implemented in Rust
https://github.com/dekobon/bunyan-view
bunyan logging node-bunyan rust
Last synced: 1 day ago
JSON representation
Bunyan log viewer implemented in Rust
- Host: GitHub
- URL: https://github.com/dekobon/bunyan-view
- Owner: dekobon
- License: mpl-2.0
- Created: 2018-12-05T01:59:35.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-18T00:07:25.000Z (over 1 year ago)
- Last Synced: 2024-04-16T07:51:02.644Z (7 months ago)
- Topics: bunyan, logging, node-bunyan, rust
- Language: Rust
- Size: 301 KB
- Stars: 0
- Watchers: 2
- Forks: 2
- Open Issues: 3
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.txt
Awesome Lists containing this project
README
[![Rust](https://github.com/dekobon/bunyan-view/actions/workflows/ci.yaml/badge.svg)](https://github.com/dekobon/bunyan-view/actions/workflows/ci.yaml) ![Crates.io](https://img.shields.io/crates/v/bunyan_view) ![Crates.io](https://img.shields.io/crates/d/bunyan_view)
# Bunyan Viewer
![Screenshot](docs/screenshot.png)
This project is a rewrite of the [node-bunyan](https://github.com/trentm/node-bunyan/) bunyan format
[log viewer CLI tool](https://github.com/trentm/node-bunyan/blob/master/bin/bunyan) 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](https://github.com/trentm/node-bunyan/)
viewer with a few intentional [divergences](DIVERGENCES.md).## 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](https://www.gnu.org/software/gzip/) 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](https://crates.io/) enabled environment by
installing the [crate](https://crates.io/crates/bunyan_view):
```
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](https://github.com/trentm/node-bunyan/) - The original that inspired this project
* [bunyan-rs](https://github.com/LukeMathWalker/bunyan) - Another rust port of bunyan
* [log4j2-bunyan-layout](https://github.com/dekobon/log4j2-bunyan-layout) - Bunyan Layout for Log4j2## License
This project is licensed under the Mozilla Public License Version 2.0. See the [LICENSE.txt](LICENSE.txt)
file for more details.