Crate dmacro

source ·
Expand description

dmacro: implemente function macro and debug macro and trace macro and log macro for Rust

This module contains the runtime support for the function! syntax extension. And also three useful macros trace!, enter!, leave! are implemented here. This module contains simple and personal implementation of function macro function! and debug macro trace! and trace macro trace! and log macro trace! for Rust

Define C-like debug trace macro: enter!() and leave!().

Check crate: https://crates.io/crates/dmacro

Thanks to https://stackoverflow.com/questions/38088067.

Example

use dmacro::*;

fn main() {
    enter!();
    println!("Hello, world!");

    trace!();
    trace!("church11");
    trace!("church21", "church22",);
    trace!("church31", "church32", "church33");
    trace!("church31", "church32", "church33", 1024);
    let y = 2023;
    let m = 9;
    let d = 28;
    trace!(format!("{:04}-{:02}-{:02}", y, m, d));
    trace!(format!("{y:04}-{m:02}-{d:02}"));
    trace!(format!("{y:04}-{m:02}-{d:02}"), "enter");
    trace!(format!("{y:04}-{m:02}-{d:02}"), "leave");

    leave!();
}

More

Macros

  • Define C-like debug trace macro: enter!().
  • Define C-like debug trace macro: function!().
  • Define C-like debug trace macro: leave!().
  • Define C-like debug trace macro: trace!().