Skip to content
A zero-allocation ring buffer for storing text logs, implemented in Rust
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.travis.yml
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
README.md

README.md

log_buffer

log_buffer is a Rust crate implementing a zero-allocation ring buffer for storing text logs. It does not depend on std, but can be used with std::vec::Vec if desired. It does not depend on anything and compiles on Rust 1.26 or newer.

See the documentation for details.

Installation

To use the log_buffer library in your project, add the following to Cargo.toml:

[dependencies]
log_buffer = "1.0"

Usage example

use core::fmt::Write;

let mut dmesg = log_buffer::LogBuffer::new([0; 16]);
write!(dmesg, "\nfirst\n").unwrap();
write!(dmesg, "second\n").unwrap();
write!(dmesg, "third\n").unwrap();

assert_eq!(dmesg.extract(),
           "st\nsecond\nthird\n");
assert_eq!(dmesg.extract_lines().collect::<Vec<_>>(),
           vec!["second", "third"]);

See the documentation for more examples.

License

log_buffer is distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.

You can’t perform that action at this time.