ring-log
High-performance logger with lock-free ring buffer, use this library when you want to log in the hotpath and performance is critical.
Example
Submitting a log to either stdout or a file is very simple, you just give a closure which evaluates to a string. This is extremely fast, usually less than 100 nanos. A simple example:
let o = LoggerFileOptions ;
// The size is bounded, issuing a new log when the ringbuffer is full will block.
let logger = new;
// Log to stdout
logger.log;
// Log to the file, format_log! will prepend the file and LOC location to the log.
logger.log_f; // path/to/file:LINE: To log.txt 5
// Blocks until all logs are handled.
logger.shutdown;