From: Michał Kępień Date: Fri, 11 Apr 2025 14:14:57 +0000 (-0500) Subject: Add debug logs for response handler matching X-Git-Tag: v9.21.8~30^2~2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5e71fd081e36c2dc27b258b5c3b90f668e59bf74;p=thirdparty%2Fbind9.git Add debug logs for response handler matching With multiple and/or dynamically managed response handlers at play, it becomes useful for debugging purposes to know which handler (if any) was used for preparing each response sent by the server. Add debug logs providing that information. Make class name the default string representation of each response handler to prettify logs. --- diff --git a/bin/tests/system/isctest/asyncserver.py b/bin/tests/system/isctest/asyncserver.py index 0ace0f277fe..20d8ee24d78 100644 --- a/bin/tests/system/isctest/asyncserver.py +++ b/bin/tests/system/isctest/asyncserver.py @@ -394,6 +394,9 @@ class ResponseHandler(abc.ABC): """ yield DnsResponseSend(qctx.response) + def __str__(self) -> str: + return self.__class__.__name__ + class IgnoreAllQueries(ResponseHandler): """ @@ -778,6 +781,7 @@ class AsyncDnsServer(AsyncServer): response_handled = True if not response_handled: + logging.debug("Responding based on zone data") yield qctx.response def _prepare_response_from_zone_data(self, qctx: QueryContext) -> None: @@ -911,6 +915,7 @@ class AsyncDnsServer(AsyncServer): """ for handler in self._response_handlers: if handler.match(qctx): + logging.debug("Matched response handler: %s", handler) async for response in handler.get_responses(qctx): yield response return