# Simple Customizable Logging
### Features
- super simple
- dependency-free
- thread-safe
- panic-safe (crash-safe)
- fast
- covers most needs
- customizable
- flexibility (multiple handlers simultaneously, adjust level at runtime)
- macro-based
### Usage:
```rust
fn your_log(level: LogLevel, message: &str) {
println!("[{:?}] {}", level, message);
}
fn main() {
let log_handler_id = hook_log_handler(your_log);
...
}
```