modify Telemetry filter order

This commit is contained in:
houseme
2025-04-27 09:50:32 +08:00
parent 87bec2e6a6
commit e8f8a0872d
4 changed files with 13 additions and 11 deletions
+9 -9
View File
@@ -213,22 +213,22 @@ pub fn init_telemetry(config: &OtelConfig) -> OtelGuard {
.with_line_number(true);
let filter = build_env_filter(logger_level, None);
let tracer = tracer_provider.tracer(Cow::Borrowed(service_name).to_string());
let otel_filter = build_env_filter(logger_level, None);
let otel_layer = OpenTelemetryTracingBridge::new(&logger_provider).with_filter(otel_filter);
let tracer = tracer_provider.tracer(Cow::Borrowed(service_name).to_string());
// Configure registry to avoid repeated calls to filter methods
tracing_subscriber::registry()
let registry = tracing_subscriber::registry()
.with(filter)
.with(fmt_layer)
.with(ErrorLayer::default())
.with(otel_layer)
.with(MetricsLayer::new(meter_provider.clone()))
.with(OpenTelemetryLayer::new(tracer))
.with(ErrorLayer::default())
.init();
.with(ErrorLayer::default());
info!("Telemetry logging enabled: {:?}", config.local_logging_enabled);
if config.local_logging_enabled.unwrap_or(false) {
registry.with(fmt_layer).init();
} else {
registry.init();
}
if !endpoint.is_empty() {
info!(