#logging #wood

woody

A logger for Rust that's *actually* easy to use

3 releases

0.1.2 Apr 23, 2024
0.1.1 Apr 22, 2024
0.1.0 Apr 8, 2023

#531 in Debugging

Download history 10/week @ 2024-12-07

137 downloads per month

MIT license

20KB
412 lines

Woody

A logger for Rust that's *actually* easy to use.

Features

  • Easy to use: Just import the macros and you're good to go. No need to configure anything. No need to create a logger. Just log.
  • Versatile: Log messages at different levels, works across threads, and can be used in libraries.
  • Lightweight: Relies only on lazy_static for thread safety and chrono for timestamps (in addition to the standard library).

Usage

Add this to your Cargo.toml:

[dependencies]
woody = "0.1.2"

Examples

use woody::*;

fn main() {
    log!(LogLevel::Info, "An info message.");
    log_debug!("A debug message.");
    log_info!("An info message.");
    log_warn!("A warning message.");
    log_error!("An error message.");
    log_trace!("A trace message.");
}

Logs are output to the woody.log file in the current directory.

Environment variables can be set to control the log level and output file:

$ WOODY_LEVEL=error cargo run # Only error messages will be logged
$ WOODY_FILE=woodyrulez.log cargo run # Logs will be written to woodyrulez.log

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

Important

When running tests, make sure to remove the woody.log file in the current directory after each test run.

cargo test && rm ./woody.log

Dependencies

~1MB
~18K SLoC