From 3c9f9f8e4e0e49c23171d9ea29167c0f701044e9 Mon Sep 17 00:00:00 2001 From: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Date: Mon, 17 Aug 2026 21:05:51 +0100 Subject: [PATCH 1/2] fix(schema): preserve Griffe logger configuration --- src/agents/function_schema.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/agents/function_schema.py b/src/agents/function_schema.py index 26d6d1f3b8..378715dcb4 100644 --- a/src/agents/function_schema.py +++ b/src/agents/function_schema.py @@ -139,7 +139,7 @@ def _detect_docstring_style(doc: str) -> DocstringStyle: def _suppress_griffe_logging(): # Suppresses warnings about missing annotations for params logger = logging.getLogger("griffe") - previous_level = logger.getEffectiveLevel() + previous_level = logger.level logger.setLevel(logging.ERROR) try: yield From cd59a61c283d8771a5ea2ddefe2553935ec32beb Mon Sep 17 00:00:00 2001 From: Sylvester Kaczmarek <16242628+sylvesterkaczmarek@users.noreply.github.com> Date: Mon, 17 Aug 2026 21:06:00 +0100 Subject: [PATCH 2/2] test(schema): cover Griffe logger inheritance restoration --- tests/test_function_schema_logger_restore.py | 26 ++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 tests/test_function_schema_logger_restore.py diff --git a/tests/test_function_schema_logger_restore.py b/tests/test_function_schema_logger_restore.py new file mode 100644 index 0000000000..c67acbacb4 --- /dev/null +++ b/tests/test_function_schema_logger_restore.py @@ -0,0 +1,26 @@ +from __future__ import annotations + +import logging + +from agents.function_schema import _suppress_griffe_logging + + +def test_suppress_griffe_logging_restores_configured_notset_level() -> None: + logger = logging.getLogger("griffe") + root_logger = logging.getLogger() + previous_logger_level = logger.level + previous_root_level = root_logger.level + + try: + logger.setLevel(logging.NOTSET) + root_logger.setLevel(logging.WARNING) + assert logger.getEffectiveLevel() == logging.WARNING + + with _suppress_griffe_logging(): + assert logger.level == logging.ERROR + + assert logger.level == logging.NOTSET + assert logger.getEffectiveLevel() == logging.WARNING + finally: + logger.setLevel(previous_logger_level) + root_logger.setLevel(previous_root_level)