From c5e056e27506c1858a153c825443c425375c1a85 Mon Sep 17 00:00:00 2001
From: Martin Lange <martin.lange@ufz.de>
Date: Thu, 1 Dec 2022 21:13:33 +0100
Subject: [PATCH] store logger only if base logger name is available

---
 src/finam/interfaces.py         |  6 ++++++
 src/finam/modules/debug.py      | 11 ++++-------
 src/finam/modules/generators.py | 11 +++++------
 3 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/src/finam/interfaces.py b/src/finam/interfaces.py
index 7e2ea435..d12be145 100644
--- a/src/finam/interfaces.py
+++ b/src/finam/interfaces.py
@@ -57,6 +57,12 @@ class Loggable(ABC):
     def logger(self):
         """Logger for this component."""
         if self._logger is None:
+            if (
+                self.uses_base_logger_name
+                and hasattr(self, "base_logger_name")
+                and getattr(self, "base_logger_name") is None
+            ):
+                return logging.getLogger(self.logger_name)
             self._logger = logging.getLogger(self.logger_name)
         return self._logger
 
diff --git a/src/finam/modules/debug.py b/src/finam/modules/debug.py
index 7ca65984..d2ad2e54 100644
--- a/src/finam/modules/debug.py
+++ b/src/finam/modules/debug.py
@@ -6,7 +6,6 @@ from ..data import tools
 from ..interfaces import ComponentStatus, IInput
 from ..sdk import CallbackInput, Component, TimeComponent
 from ..tools.date_helper import is_timedelta
-from ..tools.log_helper import ErrorLogger
 
 
 class DebugConsumer(TimeComponent):
@@ -73,11 +72,10 @@ class DebugConsumer(TimeComponent):
     ):
         super().__init__()
 
-        with ErrorLogger(self.logger):
-            if not isinstance(start, datetime):
-                raise ValueError("Start must be of type datetime")
-            if not is_timedelta(step):
-                raise ValueError("Step must be of type timedelta or relativedelta")
+        if not isinstance(start, datetime):
+            raise ValueError("Start must be of type datetime")
+        if not is_timedelta(step):
+            raise ValueError("Step must be of type timedelta or relativedelta")
 
         self._strip_data = strip_data
         self._log_data = None
@@ -212,7 +210,6 @@ class DebugPushConsumer(Component):
 
     def __init__(self, inputs, callbacks=None, log_data=False, strip_data=True):
         super().__init__()
-
         self._strip_data = strip_data
         self._log_data = None
         if isinstance(log_data, bool):
diff --git a/src/finam/modules/generators.py b/src/finam/modules/generators.py
index 538ac9ee..78a0635d 100644
--- a/src/finam/modules/generators.py
+++ b/src/finam/modules/generators.py
@@ -6,7 +6,6 @@ from finam.interfaces import ComponentStatus
 
 from ..sdk import Component, TimeComponent
 from ..tools.date_helper import is_timedelta
-from ..tools.log_helper import ErrorLogger
 
 
 class CallbackGenerator(TimeComponent):
@@ -54,11 +53,11 @@ class CallbackGenerator(TimeComponent):
 
     def __init__(self, callbacks, start, step):
         super().__init__()
-        with ErrorLogger(self.logger):
-            if not isinstance(start, datetime):
-                raise ValueError("Start must be of type datetime")
-            if not is_timedelta(step):
-                raise ValueError("Step must be of type timedelta or relativedelta")
+
+        if not isinstance(start, datetime):
+            raise ValueError("Start must be of type datetime")
+        if not is_timedelta(step):
+            raise ValueError("Step must be of type timedelta or relativedelta")
 
         self._callbacks = callbacks
         self._step = step
-- 
GitLab