Crate log_buffer [] [src]

log_buffer provides a way to record and extract logs without allocation. It achieves this by utilizing a ring buffer, similar to a *nix dmesg facility.

Usage example

use log_buffer::LogBuffer;
use std::fmt::Write;

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

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

Structs

LogBuffer

A ring buffer that stores UTF-8 text.