#logging #optional #log #switch

optional-log

A simple way to provide an optional log feature for you crates

1 unstable release

0.1.2 May 17, 2024
0.1.1 Apr 25, 2024
0.1.0 Apr 25, 2024

#359 in Configuration

MIT/Apache

7KB
98 lines

Optional Log

What

This crate provides an optional wrapper around the "log" crate, which allows you to provide an optional "log" feature for you crates easily.

How

In your "Cargo.toml":

[dependencies]
log = { version = "0.4", optional = true }
optional-log = "0.1"

[feature]
log = ["dep:log", "optional-log/log"]

Then use macros of "optional-log" crate instead of those of the "log" crate.

In this way, once the "log" feature of your crate is enabled by downstream, these macros will be expanded to the corresponding macros of the "log" crate, otherwise they do nothing.

The log_enabled! macro will always return false if the "log" feature is not enabled.


lib.rs:

What

This crate provides an optional wrapper around the "log" crate, which allows you to provide an optional "log" feature for you crates easily.

How

In your "Cargo.toml":

[dependencies]
log = { version = "0.4", optional = true }
optional-log = "0.1"

[feature]
log = ["dep:log", "optional-log/log"]

Then use macros of "optional-log" crate instead of those of the "log" crate.

In this way, once the "log" feature of your crate is enabled by downstream, these macros will be expanded to the corresponding macros of the "log" crate, otherwise they do nothing.

The log_enabled! macro will always return false if the "log" feature is not enabled.

No runtime deps

Features