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.
To use the log_buffer library in your project, add the following to Cargo.toml
:
[dependencies]
log_buffer = "1.0"
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.
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.