6 releases

new 0.0.6 May 10, 2024
0.0.5 Apr 25, 2024

#279 in Debugging

Download history 280/week @ 2024-04-07 11/week @ 2024-04-14 113/week @ 2024-04-21 12/week @ 2024-04-28 123/week @ 2024-05-05

271 downloads per month

MIT license

13KB
270 lines

Low latency logging library for Rust 🪵

Example

use logflume::{info, Level};
use std::fs;

fn main() {
    logflume::Logger::new()
        .level(Level::Debug)
        .cpu(2)
        .file("my-log-file.log")
        .init()
        .expect("Unable to construct logger");

    for i in 1..1_000_001 {
        info!("number {}", i);
    }
    logflume::logger().flush();
}

logflume is an asynchronous logger, it hands of all the formatting and writing of logs to another thread to minimize latency on the calling thread. A blocking call to logflume::logger::flush() is needed if you want to wait for all log messages to be processed, it is advisable to do this before the program shuts down to guarantee that all logs are persisted.

Dependencies

~9–21MB
~285K SLoC