trip-test 0.1.2

Contract testing & regression safety for MCP servers
Documentation
//! Logging utilities with verbosity control.

use std::sync::atomic::{AtomicBool, Ordering};
use std::sync::Arc;

lazy_static::lazy_static! {
    static ref VERBOSE: Arc<AtomicBool> = Arc::new(AtomicBool::new(false));
}

/// Enable or disable verbose output.
pub fn set_verbose(verbose: bool) {
    VERBOSE.store(verbose, Ordering::Relaxed);
}

/// Check if verbose mode is enabled.
pub fn is_verbose() -> bool {
    VERBOSE.load(Ordering::Relaxed)
}

pub fn debug(msg: &str) {
    if is_verbose() {
        eprintln!("[DEBUG] {}", msg);
    }
}

#[allow(dead_code)]
pub fn info(msg: &str) {
    println!("{}", msg);
}

pub fn error(msg: &str) {
    eprintln!("[ERROR] {}", msg);
}