2 releases

0.1.1 Aug 29, 2022
0.1.0 Aug 29, 2022

#567 in Debugging

41 downloads per month
Used in texfmt

MIT license

7KB
55 lines

cfg_log

Compile time conditional logging.

GitHub Crates.io docs.rs MIT license GitHub Workflow Status Lines of code

Usage

The main crate should depend on cfg_log and optionally on log.

[dependencies]
cfg_log = "0.1.0"
log = { version = "0.4.17", optional = true }

Then logging can be done more concisely with

use cfg_log::*;

fn main() {
    debug!("the answer is {}", 42);
}

instead of

#[cfg(feature = "log")]
use log::*;

fn main() {
    #[cfg(feature = "log")]
    debug!("the answer is {}", 42);
}

The debug! macro will automatically expand to log::debug! if the log feature is enabled, or it will be discarded at compile time otherwise.

See test_cfg_log for an example package.

No runtime deps