use std::env;
use std::sync::atomic::{AtomicBool, Ordering};
static DEBUG_ENABLED: AtomicBool = AtomicBool::new(false);
pub fn init_from_env() {
let enabled = match env::var("SYNCDOC_DEBUG") {
Ok(val) => {
let val = val.trim();
!(val == "0"
|| val.eq_ignore_ascii_case("false")
|| val.eq_ignore_ascii_case("no")
|| val.eq_ignore_ascii_case("off"))
}
Err(_) => cfg!(test),
};
set_debug(enabled);
}
pub fn set_debug(enabled: bool) {
DEBUG_ENABLED.store(enabled, Ordering::Relaxed);
}
pub fn is_enabled() -> bool {
DEBUG_ENABLED.load(Ordering::Relaxed)
}
#[ctor::ctor]
fn init_debug() {
init_from_env();
}