#log #optional #switch

optional-log

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

2 releases

0.1.1 Apr 25, 2024
0.1.0 Apr 25, 2024

#252 in Configuration

Download history 235/week @ 2024-04-21 27/week @ 2024-04-28

262 downloads per month

MIT/Apache

6KB
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