From 8c041660d48f6c916416c460a187e379ee32b4a5 Mon Sep 17 00:00:00 2001 From: Attila Gombos Date: Fri, 27 Mar 2026 09:50:19 +0100 Subject: [PATCH] SB-60 Use DEBUG log level for periodic log messages --- hello/advertizer.py | 16 ++++++++++------ hello/discoverer.py | 15 +++++++++------ tests/scheduledAdvertizerTest.py | 5 +++-- tests/scheduledDiscovererTest.py | 5 +++-- 4 files changed, 25 insertions(+), 16 deletions(-) diff --git a/hello/advertizer.py b/hello/advertizer.py index ef7f1f4..5be702a 100644 --- a/hello/advertizer.py +++ b/hello/advertizer.py @@ -4,6 +4,7 @@ import random import time +from logging import INFO, DEBUG from typing import Any from common_utility import IReusableTimer @@ -22,7 +23,7 @@ def start(self, group: Group, info: ServiceInfo | None = None) -> None: def stop(self) -> None: raise NotImplementedError() - def advertise(self, info: ServiceInfo | None = None) -> None: + def advertise(self, info: ServiceInfo | None = None, log_level: int = INFO) -> None: raise NotImplementedError() @@ -43,18 +44,21 @@ def start(self, group: Group, info: ServiceInfo | None = None) -> None: self._sender.start(group.hello()) self._group = group self._info = info + log.info('Advertizer started', group=self._group, service=self._info) def stop(self) -> None: self._group = None + self._info = None self._sender.stop() + log.info('Advertizer stopped') - def advertise(self, info: ServiceInfo | None = None) -> None: + def advertise(self, info: ServiceInfo | None = None, log_level: int = INFO) -> None: if self._group: if info: self._info = info if self._info: self._sender.send(self._info) - log.info('Service advertised', service=self._info, group=self._group) + log.log(log_level, 'Service advertised', service=self._info, group=self._group) else: log.warning('Cannot advertise service, no service info provided', group=self._group) else: @@ -115,8 +119,8 @@ def stop(self) -> None: super().stop() self._advertizer.stop() - def advertise(self, info: ServiceInfo | None = None) -> None: - self._advertizer.advertise(info) + def advertise(self, info: ServiceInfo | None = None, log_level: int = INFO) -> None: + self._advertizer.advertise(info, log_level) def _execute(self, info: ServiceInfo | None = None) -> None: - self.advertise(info) + self.advertise(info, DEBUG) diff --git a/hello/discoverer.py b/hello/discoverer.py index 0e7b179..a463299 100644 --- a/hello/discoverer.py +++ b/hello/discoverer.py @@ -5,6 +5,7 @@ from concurrent.futures import ThreadPoolExecutor from dataclasses import dataclass from enum import Enum +from logging import INFO, DEBUG from typing import Any, Protocol from uuid import UUID @@ -41,7 +42,7 @@ def start(self, group: Group, query: ServiceQuery | None = None) -> None: def stop(self) -> None: raise NotImplementedError() - def discover(self, query: ServiceQuery | None = None) -> None: + def discover(self, query: ServiceQuery | None = None, log_level: int = INFO) -> None: raise NotImplementedError() def register(self, handler: OnDiscoveryEvent) -> None: @@ -78,6 +79,7 @@ def start(self, group: Group, query: ServiceQuery | None = None) -> None: self._sender.start(group.query()) self._receiver.register(self._handle_message) self._receiver.start(group.hello()) + log.info('Discoverer started', group=self._group, query=query) def stop(self) -> None: self._group = None @@ -85,14 +87,15 @@ def stop(self) -> None: self._sender.stop() self._receiver.deregister(self._handle_message) self._receiver.stop() + log.info('Discoverer stopped') - def discover(self, query: ServiceQuery | None = None) -> None: + def discover(self, query: ServiceQuery | None = None, log_level: int = INFO) -> None: if self._group: if query: self._matcher = ServiceMatcher(query) if self._matcher: self._sender.send(self._matcher.query) - log.info('Service discovery initiated', group=self._group, query=self._matcher.query) + log.log(log_level, 'Service discovery initiated', group=self._group, query=self._matcher.query) else: log.warning('Cannot discover services, no query provided', group=self._group) else: @@ -168,8 +171,8 @@ def stop(self) -> None: super().stop() self._discoverer.stop() - def discover(self, query: ServiceQuery | None = None) -> None: - self._discoverer.discover(query) + def discover(self, query: ServiceQuery | None = None, log_level: int = INFO) -> None: + self._discoverer.discover(query, log_level) def get_services(self) -> dict[UUID, ServiceInfo]: return self._discoverer.get_services() @@ -181,4 +184,4 @@ def deregister(self, handler: OnDiscoveryEvent) -> None: self._discoverer.deregister(handler) def _execute(self, query: ServiceQuery | None = None) -> None: - self.discover(query) + self.discover(query, DEBUG) diff --git a/tests/scheduledAdvertizerTest.py b/tests/scheduledAdvertizerTest.py index 6219aaf..4083967 100644 --- a/tests/scheduledAdvertizerTest.py +++ b/tests/scheduledAdvertizerTest.py @@ -1,4 +1,5 @@ import unittest +from logging import DEBUG, INFO from unittest import TestCase from unittest.mock import MagicMock from uuid import uuid4 @@ -71,7 +72,7 @@ def test_sends_service_info(self): scheduled_advertizer.advertise(SERVICE_INFO) # Then - advertizer.advertise.assert_called_once_with(SERVICE_INFO) + advertizer.advertise.assert_called_once_with(SERVICE_INFO, INFO) def test_schedules_advertise_once(self): # Given @@ -110,7 +111,7 @@ def test_execute_and_restart_calls_advertise_and_restarts_timer(self): scheduled_advertizer._execute_and_restart(SERVICE_INFO) # Then - advertizer.advertise.assert_called_once_with(SERVICE_INFO) + advertizer.advertise.assert_called_once_with(SERVICE_INFO, DEBUG) timer.restart.assert_called_once() diff --git a/tests/scheduledDiscovererTest.py b/tests/scheduledDiscovererTest.py index 2116213..9632a82 100644 --- a/tests/scheduledDiscovererTest.py +++ b/tests/scheduledDiscovererTest.py @@ -1,4 +1,5 @@ import unittest +from logging import DEBUG, INFO from unittest import TestCase from unittest.mock import MagicMock @@ -97,7 +98,7 @@ def test_sends_service_query(self): scheduled_discoverer.discover(SERVICE_QUERY) # Then - discoverer.discover.assert_called_once_with(SERVICE_QUERY) + discoverer.discover.assert_called_once_with(SERVICE_QUERY, INFO) def test_schedules_discover_once(self): # Given @@ -136,7 +137,7 @@ def test_execute_and_restart_calls_discover_and_restarts_timer(self): scheduled_discoverer._execute_and_restart(SERVICE_QUERY) # Then - discoverer.discover.assert_called_once_with(SERVICE_QUERY) + discoverer.discover.assert_called_once_with(SERVICE_QUERY, DEBUG) timer.restart.assert_called_once()