lalala33rfs

Untitled

Nov 17th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.57 KB | None | 0 0
  1. class Logger:
  2.     def _logger(self, func):
  3.         if not hasattr(self, 'history'):
  4.             self.history = []
  5.  
  6.         def wrapper(*args, **kwargs):
  7.             self.history.append((func.__name__, args, kwargs))
  8.             return func(*args, **kwargs)
  9.         return wrapper
  10.  
  11.     def __getattribute__(self, name):
  12.         item = object.__getattribute__(self, name)
  13.         if callable(item):
  14.             logger = object.__getattribute__(self, '_logger')
  15.             return logger(item)
  16.         return item
  17.  
  18.     def __str__(self):
  19.         return str(self.history)
Add Comment
Please, Sign In to add comment