def kaminario_logger(func):
 def func_wrapper(*args, **kwargs):
  LOG.debug('Entering %(function)s of %(class)s with arguments:  %(args)s, %(kwargs)s', {'class': args[0].__class__.__name__, 'function': func.__name__, 'args': args[1:], 'kwargs': kwargs})
  ret = func(*args, **kwargs)
  LOG.debug('Exiting %(function)s of %(class)s having return value: %(ret)s', {'class': args[0].__class__.__name__, 'function': func.__name__, 'ret': ret})
  return ret
 return func_wrapper

def kaminario_logger ( func ) : def func_wrapper ( * args , ** kwargs ) : LOG . debug ( 'Entering %(function)s of %(class)s with arguments:  %(args)s, %(kwargs)s' , { 'class' : args [ 0 ] . __class__ . __name__ , 'function' : func . __name__ , 'args' : args [ 1 : ] , 'kwargs' : kwargs } ) ret = func ( * args , ** kwargs ) LOG . debug ( 'Exiting %(function)s of %(class)s having return value: %(ret)s' , { 'class' : args [ 0 ] . __class__ . __name__ , 'function' : func . __name__ , 'ret' : ret } ) return ret return func_wrapper
return a function wrapper .