1use std::sync::atomic::{AtomicBool, Ordering};
4use std::sync::Arc;
5
6lazy_static::lazy_static! {
7 static ref VERBOSE: Arc<AtomicBool> = Arc::new(AtomicBool::new(false));
8}
9
10pub fn set_verbose(verbose: bool) {
12 VERBOSE.store(verbose, Ordering::Relaxed);
13}
14
15pub fn is_verbose() -> bool {
17 VERBOSE.load(Ordering::Relaxed)
18}
19
20pub fn debug(msg: &str) {
21 if is_verbose() {
22 eprintln!("[DEBUG] {}", msg);
23 }
24}
25
26#[allow(dead_code)]
27pub fn info(msg: &str) {
28 println!("{}", msg);
29}
30
31pub fn error(msg: &str) {
32 eprintln!("[ERROR] {}", msg);
33}