Skip to content
Snippets Groups Projects
Commit 0773456d authored by lukas leufen's avatar lukas leufen
Browse files

Merge branch 'lukas_issue364_feat_set-logging-print-mode' into 'develop'

Resolve "set logging print mode"

See merge request !393
parents 0ccef3d1 2baf1350
No related branches found
No related tags found
5 merge requests!430update recent developments,!413update release branch,!412Resolve "release v2.0.0",!394Develop,!393Resolve "set logging print mode"
Pipeline #93351 passed
...@@ -19,6 +19,10 @@ class Logger: ...@@ -19,6 +19,10 @@ class Logger:
# define shared logger format # define shared logger format
self.formatter = '%(asctime)s - %(levelname)s: %(message)s [%(filename)s:%(funcName)s:%(lineno)s]' 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 # set log path
self.log_file = self.setup_logging_path(log_path) self.log_file = self.setup_logging_path(log_path)
# set root logger as file handler # set root logger as file handler
......
...@@ -92,12 +92,12 @@ class RunEnvironment(object): ...@@ -92,12 +92,12 @@ class RunEnvironment(object):
logger = None logger = None
tracker_list = [] tracker_list = []
def __init__(self, name=None): def __init__(self, name=None, log_level_stream=None):
"""Start time tracking automatically and logs as info.""" """Start time tracking automatically and logs as info."""
if RunEnvironment.data_store is None: if RunEnvironment.data_store is None:
RunEnvironment.data_store = DataStoreObject() RunEnvironment.data_store = DataStoreObject()
if RunEnvironment.logger is None: if RunEnvironment.logger is None:
RunEnvironment.logger = Logger() RunEnvironment.logger = Logger(level_stream=log_level_stream)
self._name = name if name is not None else self.__class__.__name__ self._name = name if name is not None else self.__class__.__name__
self.time = TimeTracking(name=name) self.time = TimeTracking(name=name)
logging.info(f"{self._name} started") logging.info(f"{self._name} started")
......
...@@ -13,9 +13,10 @@ class Workflow: ...@@ -13,9 +13,10 @@ class Workflow:
method is sufficient. It must be taken care for inter-stage dependencies, this workflow class only handles the 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).""" 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_kwargs = {}
self._registry = [] self._registry = []
self._log_level_stream = log_level_stream
self._name = name if name is not None else self.__class__.__name__ self._name = name if name is not None else self.__class__.__name__
def add(self, stage, **kwargs): def add(self, stage, **kwargs):
...@@ -25,6 +26,6 @@ class Workflow: ...@@ -25,6 +26,6 @@ class Workflow:
def run(self): def run(self):
"""Run workflow embedded in a run environment and according to the stage's ordering.""" """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): for pos, stage in enumerate(self._registry):
stage(**self._registry_kwargs[pos]) stage(**self._registry_kwargs[pos])
...@@ -36,8 +36,9 @@ class DefaultWorkflow(Workflow): ...@@ -36,8 +36,9 @@ class DefaultWorkflow(Workflow):
batch_size=None, batch_size=None,
epochs=None, epochs=None,
data_handler=None, data_handler=None,
log_level_stream=None,
**kwargs): **kwargs):
super().__init__() super().__init__(log_level_stream=log_level_stream)
# extract all given kwargs arguments # extract all given kwargs arguments
params = remove_items(inspect.getfullargspec(self.__init__).args, "self") params = remove_items(inspect.getfullargspec(self.__init__).args, "self")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment