Source code for queso_cluster.addon.logg

#> file:  ./QuESO/addon/logg
#> lang:  python
#> synopsis: 
#> author:   <>
import logging
import timeit 
import functools

logger = logging.getLogger("queso_cluster")
logger.addHandler(logging.NullHandler())

[docs] def loggTimer(func): #> detail: #> param type func: #> return (type): #> test-method: @functools.wraps(func) def wrapper(*args, **kwargs): __log__ = logg("start", val="{}".format(func.__name__)) value = func(*args, **kwargs) logg("stop", _log=__log__) return(value) return(wrapper)
[docs] def logg(tag, val=None, _time=None, _log=None): #> detail: #> param type tag: #> param type [None] val: #> param type [None] _time: #> param type [None] _log: #> return (type): #> test-method: ptag = '[' + tag.upper() + '\t]' if _log is not None: val, _time = _log if _time is not None: dur = timeit.default_timer() - _time match tag: case 'aloha': if _log is not None: log_str = ptag + '[' + duration_string(dur) + ']' else: #print(ptag + 'DURATION\tMESSAGES\tRUNNERS') logger.info(ptag) return(None, timeit.default_timer()) case 'start': log_str = ptag + '\t\t' + val.upper() logger.info(log_str) return(val.upper(), timeit.default_timer()) case 'stop': log_str = ptag + '[' + duration_string(dur) + ']\t' + val.upper() case 'msg': log_str = ptag + '\t\t' + val.upper() case 'warn': logger.warning(val.upper()) return None case 'error': logger.error(val.upper()) return None logger.info(log_str)
[docs] def duration_string(dur): #> detail: #> param type dur: #> return (type): #> test-method: return("{:02d}h {:02d}m {:02d}s".format(int(dur/3600), int(int(dur/60) % 60), int(dur % 60)))