import datetime from functools import wraps, partial def logged(func=None, level="INFO"): if func is None: return partial(logged, level=level) @wraps(func) def wrapper(*args, **kwargs): print("[%s]: calling %s() %s" % (level, func.__name__, datetime.datetime.now())) return func(*args, **kwargs) return wrapper @logged def now(): pass @logged(level="WARN") def after(): pass now() after()
Sign in to make a reply
书生Maple