Skip to main content

bear_cli/
verbose.rs

1use std::sync::atomic::{AtomicU8, Ordering};
2
3static VERBOSITY: AtomicU8 = AtomicU8::new(0);
4
5pub fn set(level: u8) {
6    VERBOSITY.store(level, Ordering::Relaxed);
7}
8
9pub fn level() -> u8 {
10    VERBOSITY.load(Ordering::Relaxed)
11}
12
13pub fn enabled(level: u8) -> bool {
14    self::level() >= level
15}
16
17pub fn eprintln(level: u8, message: impl AsRef<str>) {
18    if enabled(level) {
19        std::eprintln!("{}", message.as_ref());
20    }
21}