Crates.io | log_buffer |
lib.rs | log_buffer |
version | 1.2.0 |
source | src |
created_at | 2016-09-05 17:17:32.062229 |
updated_at | 2018-05-05 01:10:56.107177 |
description | A zero-allocation ring buffer for storing text logs |
homepage | https://github.com/whitequark/rust-log_buffer |
repository | https://github.com/whitequark/rust-log_buffer |
max_upload_size | |
id | 6253 |
size | 22,975 |
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.