Skip to content

Commit 9dedc5c

Browse files
committed
Add logger property to _Common class for improved logging management
1 parent 30bf3ff commit 9dedc5c

File tree

1 file changed

+11
-5
lines changed

1 file changed

+11
-5
lines changed

src/iop/_common.py

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,17 @@ class _Common(metaclass=abc.ABCMeta):
1818
ICON_URL: ClassVar[str]
1919
iris_handle: Any = None
2020
_log_to_console: bool = False
21+
_logger: logging.Logger = None
22+
23+
@property
24+
def logger(self) -> logging.Logger:
25+
if self._logger is None:
26+
self._logger = LogManager.get_logger(self.__class__.__name__,self.log_to_console)
27+
return self._logger
28+
29+
@logger.setter
30+
def logger(self, value: logging.Logger) -> None:
31+
self._logger = value
2132

2233
@property
2334
def log_to_console(self) -> bool:
@@ -28,9 +39,6 @@ def log_to_console(self, value: bool) -> None:
2839
self._log_to_console = value
2940
self.logger = LogManager.get_logger(self.__class__.__name__,value)
3041

31-
def __init__(self):
32-
self.logger = LogManager.get_logger(self.__class__.__name__)
33-
3442
# Lifecycle methods
3543
def on_init(self) -> None:
3644
"""Initialize component when started."""
@@ -210,8 +218,6 @@ def _logging(self, message: str, level: int, to_console: Optional[bool] = None)
210218
to_console: If True, log to console instead of IRIS
211219
"""
212220
current_class, current_method = self._log()
213-
if not hasattr(self, 'logger'):
214-
self.logger = LogManager.get_logger(current_class)
215221
if to_console is None:
216222
to_console = self.log_to_console
217223
if level == logging.DEBUG:

0 commit comments

Comments
 (0)