A high-performance asynchronous logging library for Rust built on crossbeam channels with appender-per-thread architecture.
fast_log is a high-performance asynchronous logging library for Rust. It solves the problem of logging overhead in performance-critical applications by using a multi-channel architecture with batch writing and dedicated appenders per thread.
Rust developers building high-performance applications where logging speed and low overhead are critical, such as servers, real-time systems, and data processing pipelines.
Developers choose fast_log for its extreme performance, safe Rust implementation, and flexible features like log rotation, compression, and custom appenders without sacrificing speed.
Rust async log High-performance asynchronous logging
Benchmarks show logging operations as low as 85 nanoseconds per iteration using crossbeam channels and batch writing, minimizing overhead.
Enforces 100% safe Rust with #![forbid(unsafe_code)], eliminating memory safety risks in production environments.
Supports log rotation by date, size, or duration with built-in compression options like ZIP and LZ4, as shown in the file_split examples.
Uses dedicated appenders per thread to reduce contention, improving throughput in multi-threaded applications.
Allows implementing the LogAppender trait for custom destinations, demonstrated in the custom log example.
Requires manual tuning of parameters like chan_len for optimal performance, which can be complex and error-prone compared to simpler libraries.
Logs are batched and processed asynchronously, causing a delay before persistence that might not suit real-time monitoring or debugging needs.
Being performance-focused, it lacks the wide range of plugins and third-party tool integrations found in more established logging crates.
Application level tracing for Rust.
Logging implementation for Rust
Structured, contextual, extensible, composable logging for Rust
A highly configurable logging framework for Rust
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.