debug-log

Crates.iodebug-log
lib.rsdebug-log
version0.3.1
sourcesrc
created_at2022-11-18 15:40:42.376066
updated_at2024-01-05 08:04:07.105245
descriptiondbg! and eprintln! that only run on debug mode. WASM is supported.
homepagehttps://github.com/zxch3n/debug-log
repositoryhttps://github.com/zxch3n/debug-log
max_upload_size
id717941
size12,584
Zixuan Chen (zxch3n)

documentation

https://docs.rs/debug-log

README

debug-log

Documentation

Simple log utils for debugging in Rust.

  • 🦀 Enabled only in debug mode when DEBUG environment variable is set. You can change the DEBUG value in runtime as well by set_debug.
  • 🔊 Only log in files whose paths match DEBUG="filename". Match all by using DEBUG="", or DEBUG="*"
  • 📦 Group output with debug_group
  • 📤 WASM support. It will use the console API

The output log is super easy to read on VS Code with sticky scroll enabled.

Example

use debug_log::{debug_dbg, debug_log, group, group_end};
fn main() {
    group!("A Group");
    {
        group!("Sub A Group");
        let arr: Vec<_> = (0..3).collect();
        debug_dbg!(&arr);
        {
            group!("Sub Sub A Group");
            debug_dbg!(&arr);
            group_end!();
        }
        debug_log!("Hi");
        debug_dbg!(&arr);
        group_end!();
    }

    {
        group!("B Group");
        debug_log!("END");
        group_end!();
    }
    group_end!();
}

Run with DEBUG=* cargo run

Output

A Group {
    Sub A Group {
        [src/lib.rs:144] &arr = [
            0,
            1,
            2,
        ]
        Sub Sub A Group {
            [src/lib.rs:147] &arr = [
                0,
                1,
                2,
            ]
        }
        [src/lib.rs:150] Hi
        [src/lib.rs:151] &arr = [
            0,
            1,
            2,
        ]
    }
    B Group {
        [src/lib.rs:157] END
    }
}
Commit count: 18

cargo fmt