Expand description
§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
.
Structs§
- Youlog
- A logger that accepts user functions. Filters are optional, and by default all logs are enabled. This allows the user functions to implement their own per-level filters.
Constants§
- DEFAULT_
ENV - The default environment variable containing logging filters.