diff --git a/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py b/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py index b248b7a5ba2a..f9ab0ff60750 100644 --- a/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py +++ b/sdk/agentserver/azure-ai-agentserver-core/azure/ai/agentserver/core/_tracing.py @@ -85,6 +85,12 @@ # duplicates across multiple AgentServerHost instantiations. _CONSOLE_HANDLER_ATTR = "_agentserver_console" +# Logger names whose INFO messages are too noisy by default (set to WARNING unless the user requests DEBUG). +_SUPPRESSED_LOGGERS = ( + "azure.monitor.opentelemetry.exporter", + "azure.core.pipeline.policies.http_logging_policy", +) + def configure_observability( *, @@ -131,8 +137,13 @@ def configure_observability( setattr(_console, _CONSOLE_HANDLER_ATTR, True) root.addHandler(_console) - # Suppress the noisy Azure Core HTTP logging policy logger. - logging.getLogger("azure.core.pipeline.policies.http_logging_policy").setLevel(logging.WARNING) + # Suppress noisy loggers by setting their level to WARNING. + # Must be done BEFORE _configure_tracing() — the distro respects + # pre-set levels, preventing repetitive "Transmission succeeded" INFO messages. + # Preserve visibility when user explicitly requests DEBUG. + if logging.getLevelName(resolved_level) > logging.DEBUG: + for _noisy in _SUPPRESSED_LOGGERS: + logging.getLogger(_noisy).setLevel(logging.WARNING) # Tracing and OTel export _configure_tracing(connection_string=connection_string, enable_sensitive_data=enable_sensitive_data)