diff --git a/backend/windmill-common/src/tracing_init.rs b/backend/windmill-common/src/tracing_init.rs index d098cfe9bd..e02281ea58 100644 --- a/backend/windmill-common/src/tracing_init.rs +++ b/backend/windmill-common/src/tracing_init.rs @@ -124,9 +124,22 @@ pub fn initialize_tracing( file_env_filter.clone() }; + // Create a common filter for OTEL logs bridge and tracing layer to respect RUST_LOG + let otel_logs_filter = file_env_filter.clone(); + + // Apply filter to the opentelemetry tracing layer to prevent debug events from being attached to spans + #[cfg(all(feature = "otel", feature = "enterprise"))] + let opentelemetry_filtered = { + let otel_tracing_filter = file_env_filter.clone(); + opentelemetry.map(|layer| layer.with_filter(otel_tracing_filter)) + }; + + #[cfg(not(all(feature = "otel", feature = "enterprise")))] + let opentelemetry_filtered = opentelemetry; + let base_layer = tracing_subscriber::registry() - .with(logs_bridge) - .with(opentelemetry); + .with(logs_bridge.with_filter(otel_logs_filter)) + .with(opentelemetry_filtered); match *JSON_FMT { true => {