Crate saydbg

Crate saydbg 

Source
Expand description

§saydbg

A lightweight crate for conditional debug printing.

  • Prints only in debug builds (debug_assertions)
  • Optional color, timestamps, and file logging
  • Zero overhead in release builds

§Features

  • color: enable colorized output
  • timestamp: include local timestamp in log prefix
  • file: mirror output to saydbg.log

§Example

use saydbg::{saydbg, saywarn, sayerr, saytrace, saylog};

fn main() {
    saydbg!("Connected to database");
    saywarn!("Missing optional config file");
    saytrace!("Query took {:?} ms", 5);
    sayerr!("User not found: {}", "admin");
    saylog!("Always visible log in both debug and release");
}

Macros§

saydbg
Prints [debug] messages in debug builds.
sayerr
Prints [error] messages to stderr in debug builds.
saylog
Always-on log (prints in all builds, including release).
saytrace
Prints [trace] messages in debug builds (very low-level info).
saywarn
Prints [warn] messages in debug builds.

Functions§

build_prefix
Internal helper: builds timestamp + colored prefix.
maybe_write_file
Writes a line to the log file if the file feature is enabled.