From 942d425794eb023d899a5570e27d07a87c76a44c Mon Sep 17 00:00:00 2001 From: leufen1 <l.leufen@fz-juelich.de> Date: Tue, 22 Feb 2022 15:29:44 +0100 Subject: [PATCH] can now set stream log level with log_level_stream when starting a workflow, /close #364 --- mlair/helpers/logger.py | 4 ++++ mlair/workflows/abstract_workflow.py | 5 +++-- mlair/workflows/default_workflow.py | 3 ++- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/mlair/helpers/logger.py b/mlair/helpers/logger.py index 51ecde41..d960ee6f 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 c969aa35..adb718b7 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 961979cb..3c75d980 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") -- GitLab