diff --git a/mlair/helpers/logger.py b/mlair/helpers/logger.py index 51ecde41192cb3a2838e443c3c338c5ac4e29b4d..d960ee6f0b0f1f3b76662817cd1bbf5f68772084 100644 --- a/mlair/helpers/logger.py +++ b/mlair/helpers/logger.py @@ -19,6 +19,10 @@ class Logger: # define shared logger format self.formatter = '%(asctime)s - %(levelname)s: %(message)s [%(filename)s:%(funcName)s:%(lineno)s]' + # assure defaults + level_stream = level_stream or logging.INFO + level_file = level_file or logging.DEBUG + # set log path self.log_file = self.setup_logging_path(log_path) # set root logger as file handler diff --git a/mlair/workflows/abstract_workflow.py b/mlair/workflows/abstract_workflow.py index c969aa35ebca60aa749a294bcaa5de727407a461..adb718b7a45dfbec60f88765b5a9f869c177b73b 100644 --- a/mlair/workflows/abstract_workflow.py +++ b/mlair/workflows/abstract_workflow.py @@ -13,9 +13,10 @@ class Workflow: method is sufficient. It must be taken care for inter-stage dependencies, this workflow class only handles the execution but not the dependencies (workflow would probably fail in this case).""" - def __init__(self, name=None): + def __init__(self, name=None, log_level_stream=None): self._registry_kwargs = {} self._registry = [] + self._log_level_stream = log_level_stream self._name = name if name is not None else self.__class__.__name__ def add(self, stage, **kwargs): @@ -25,6 +26,6 @@ class Workflow: def run(self): """Run workflow embedded in a run environment and according to the stage's ordering.""" - with RunEnvironment(name=self._name): + with RunEnvironment(name=self._name, log_level_stream=self._log_level_stream): for pos, stage in enumerate(self._registry): stage(**self._registry_kwargs[pos]) diff --git a/mlair/workflows/default_workflow.py b/mlair/workflows/default_workflow.py index 961979cb774e928bda96d4cd1a3a7b0f8565e968..3c75d9809f59ed8e5e970ba1b2c3245adbc0459e 100644 --- a/mlair/workflows/default_workflow.py +++ b/mlair/workflows/default_workflow.py @@ -36,8 +36,9 @@ class DefaultWorkflow(Workflow): batch_size=None, epochs=None, data_handler=None, + log_level_stream=None, **kwargs): - super().__init__() + super().__init__(log_level_stream=log_level_stream) # extract all given kwargs arguments params = remove_items(inspect.getfullargspec(self.__init__).args, "self")