3 releases
0.1.2 | Oct 10, 2023 |
---|---|
0.1.1 | Sep 2, 2023 |
0.1.0 | Aug 30, 2023 |
#546 in Debugging
35 downloads per month
17KB
269 lines
youlog
A thin logging implementation for Rust's log facade.
This crate allows for providing custom functions to the logger.
Examples where this might be useful:
- Logging logic needs to be different across log levels
- Another application's logger is being used like with godot-rust
- An existing crate is too opinionated in how it handles logging
Features
- Setting logging functions per log level
- Setting a logging function across all log levels
- Filtering logs per module/filter
- Initializing filters from an environment variable (
RUST_LOG
by default)
Example
use log::LevelFilter;
use youlog::Youlog;
Youlog::new()
.global_level(LevelFilter::Info)
.log_fn(LevelFilter::Info, |record| {
println!("info {}", record.args().as_str().unwrap_or_default());
})
.raw_fn(|record| {
println!("raw {}", record.args().as_str().unwrap_or_default());
})
.level("some_module", LevelFilter::Error)
.init()
.expect("unable to init logger");
log::info!("this is an info log!");
License
MPL-2.0
Filter implementation referenced from env_logger
.
Dependencies
~87KB