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

Merge branch 'lukas_issue304_refac_improve-datastore-logging' into 'develop'

Resolve "improve datastore logging"

See merge request !292
parents 2867cae7 19e3aab7
Branches
Tags
5 merge requests!319add all changes of dev into release v1.4.0 branch,!318Resolve "release v1.4.0",!299Draft: Merge default data handler and preprocessing support parameter use_multiprocessing....,!292Resolve "improve datastore logging",!259Draft: Resolve "WRF-Datahandler should inherit from SingleStationDatahandler"
Pipeline #65786 passed
This commit is part of merge request !318. Comments created here will be created in the context of that merge request.
...@@ -111,8 +111,15 @@ class TrackParameter: ...@@ -111,8 +111,15 @@ class TrackParameter:
""" """
Call method of decorator. Call method of decorator.
""" """
self.track(*args) name, obj, scope = self.track(*args)
return self.__wrapped__(*args, **kwargs) f_name = self.__wrapped__.__name__
try:
res = self.__wrapped__(*args, **kwargs)
logging.debug(f"{f_name}: {name}({scope})={res if obj is None else obj}")
except Exception as e:
logging.debug(f"{f_name}: {name}({scope})={obj}")
raise
return res
def __get__(self, instance, cls): def __get__(self, instance, cls):
"""Create bound method object and supply self argument to the decorated method. <Python Cookbook, p.347>""" """Create bound method object and supply self argument to the decorated method. <Python Cookbook, p.347>"""
...@@ -120,13 +127,13 @@ class TrackParameter: ...@@ -120,13 +127,13 @@ class TrackParameter:
def track(self, tracker_obj, *args): def track(self, tracker_obj, *args):
name, obj, scope = self._decrypt_args(*args) name, obj, scope = self._decrypt_args(*args)
logging.debug(f"{self.__wrapped__.__name__}: {name}({scope})={obj}")
tracker = tracker_obj.tracker[-1] tracker = tracker_obj.tracker[-1]
new_entry = {"method": self.__wrapped__.__name__, "scope": scope} new_entry = {"method": self.__wrapped__.__name__, "scope": scope}
if name in tracker: if name in tracker:
tracker[name].append(new_entry) tracker[name].append(new_entry)
else: else:
tracker[name] = [new_entry] tracker[name] = [new_entry]
return name, obj, scope
@staticmethod @staticmethod
def _decrypt_args(*args): def _decrypt_args(*args):
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment