diff --git a/packages/logger/Cargo.toml b/packages/logger/Cargo.toml index 88934d35eb..a44bb085cc 100644 --- a/packages/logger/Cargo.toml +++ b/packages/logger/Cargo.toml @@ -17,6 +17,10 @@ dioxus-cli-config = { workspace = true } tracing = { workspace = true } tracing-subscriber = { workspace = true, features = ["registry", "std"] } +[features] +default = [] +env-filter = ["tracing-subscriber/env-filter"] + [target.'cfg(target_arch = "wasm32")'.dependencies] tracing-wasm = { workspace = true } console_error_panic_hook = { workspace = true } diff --git a/packages/logger/README.md b/packages/logger/README.md index ac857e1068..ea82af9f1a 100644 --- a/packages/logger/README.md +++ b/packages/logger/README.md @@ -64,9 +64,8 @@ fn App() -> Element { p { "hi" } } } - - ``` +For non-wasm targets, the `env-filter` feature enables runtime filtering based on the `RUST_LOG` environment variable. e.g. `RUST_LOG=none,myAppName=trace`, see [here](https://docs.rs/tracing-subscriber/latest/tracing_subscriber/filter/struct.EnvFilter.html#directives) for syntax. ## Platform Support Dioxus logger will eventually support every target that Dioxus does. Currently mobile and TUI are not supported. diff --git a/packages/logger/src/lib.rs b/packages/logger/src/lib.rs index df78c8b567..7adf6e5507 100644 --- a/packages/logger/src/lib.rs +++ b/packages/logger/src/lib.rs @@ -98,6 +98,8 @@ pub fn init(level: Level) -> Result<(), SetGlobalDefaultError> { #[cfg(not(target_arch = "wasm32"))] { let sub = tracing_subscriber::FmtSubscriber::builder().with_max_level(level); + #[cfg(feature = "env-filter")] + let sub = sub.with_env_filter(tracing_subscriber::EnvFilter::from_default_env()); if !dioxus_cli_config::is_cli_enabled() { return set_global_default(sub.finish());