diff --git a/src/telemetry.rs b/src/telemetry.rs index 50d8e42..8e6c061 100644 --- a/src/telemetry.rs +++ b/src/telemetry.rs @@ -1,10 +1,14 @@ use anyhow::Result; use opentelemetry::sdk::propagation::TraceContextPropagator; use opentelemetry_otlp::{HasExportConfig, Protocol, WithExportConfig}; +use tracing::Level; use tracing_subscriber::{prelude::*, EnvFilter}; pub fn configure_telemetry(enable_otlp: bool) -> Result<()> { - let fmt_layer = tracing_subscriber::fmt::layer().with_filter(EnvFilter::from_default_env()); + let fmt_layer = tracing_subscriber::fmt::layer(); + let filter = EnvFilter::builder() + .with_default_directive(Level::INFO.into()) + .from_env_lossy(); if enable_otlp { let mut exporter = opentelemetry_otlp::new_exporter().tonic().with_env(); @@ -23,11 +27,15 @@ pub fn configure_telemetry(enable_otlp: bool) -> Result<()> { let telemetry_layer = tracing_opentelemetry::layer().with_tracer(tracer); tracing_subscriber::registry() .with(fmt_layer) + .with(filter) .with(telemetry_layer) .init(); tracing::info!(endpoint = config.endpoint, protocol = ?config.protocol, "OpenTelemetry is enabled."); } else { - tracing_subscriber::registry().with(fmt_layer).init(); + tracing_subscriber::registry() + .with(fmt_layer) + .with(filter) + .init(); tracing::warn!("OpenTelemetry is not enabled."); }; Ok(())