From d52fc2d08182b9d17c9f5ee1ada0dcfc8540ad86 Mon Sep 17 00:00:00 2001 From: mcmah309 Date: Thu, 20 Feb 2025 18:37:32 +0000 Subject: [PATCH 1/3] feat: Expose and configure tracing env-filter --- packages/logger/Cargo.toml | 4 ++++ packages/logger/src/lib.rs | 4 ++++ 2 files changed, 8 insertions(+) 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/src/lib.rs b/packages/logger/src/lib.rs index df78c8b567..7098b9a287 100644 --- a/packages/logger/src/lib.rs +++ b/packages/logger/src/lib.rs @@ -4,6 +4,8 @@ use tracing::{ }; pub use tracing; +#[cfg(feature = "env-filter")] +use tracing_subscriber::EnvFilter; /// Attempt to initialize the subscriber if it doesn't already exist, with default settings. /// @@ -98,6 +100,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(EnvFilter::from_default_env()); if !dioxus_cli_config::is_cli_enabled() { return set_global_default(sub.finish()); From 4525b48a9d0a24ea89da5344420546bb54cfd6d5 Mon Sep 17 00:00:00 2001 From: mcmah309 Date: Thu, 20 Feb 2025 18:44:01 +0000 Subject: [PATCH 2/3] doc: Add env-filter doc part --- packages/logger/README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) 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. From d276c88dad0998abc8c7fc8f8dade77b733714cd Mon Sep 17 00:00:00 2001 From: mcmah309 Date: Thu, 20 Feb 2025 18:47:11 +0000 Subject: [PATCH 3/3] chore: Remove conditional import --- packages/logger/src/lib.rs | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/logger/src/lib.rs b/packages/logger/src/lib.rs index 7098b9a287..7adf6e5507 100644 --- a/packages/logger/src/lib.rs +++ b/packages/logger/src/lib.rs @@ -4,8 +4,6 @@ use tracing::{ }; pub use tracing; -#[cfg(feature = "env-filter")] -use tracing_subscriber::EnvFilter; /// Attempt to initialize the subscriber if it doesn't already exist, with default settings. /// @@ -101,7 +99,7 @@ pub fn init(level: Level) -> Result<(), SetGlobalDefaultError> { { let sub = tracing_subscriber::FmtSubscriber::builder().with_max_level(level); #[cfg(feature = "env-filter")] - let sub = sub.with_env_filter(EnvFilter::from_default_env()); + 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());