Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class Logger:
- def _logger(self, func):
- if not hasattr(self, 'history'):
- self.history = []
- def wrapper(*args, **kwargs):
- self.history.append((func.__name__, args, kwargs))
- return func(*args, **kwargs)
- return wrapper
- def __getattribute__(self, name):
- item = object.__getattribute__(self, name)
- if callable(item):
- logger = object.__getattribute__(self, '_logger')
- return logger(item)
- return item
- def __str__(self):
- return str(self.history)
Add Comment
Please, Sign In to add comment