Skip to main content

trip_test/
logger.rs

1//! Logging utilities with verbosity control.
2
3use 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
10/// Enable or disable verbose output.
11pub fn set_verbose(verbose: bool) {
12    VERBOSE.store(verbose, Ordering::Relaxed);
13}
14
15/// Check if verbose mode is enabled.
16pub 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}