@@ -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