Skip to content

Instantly share code, notes, and snippets.

@maxwellamaral
Forked from maxwellcc/ex02.py
Created September 6, 2022 12:40
Show Gist options
  • Save maxwellamaral/15212eea9937e46377560f1f0349ddfd to your computer and use it in GitHub Desktop.
Save maxwellamaral/15212eea9937e46377560f1f0349ddfd to your computer and use it in GitHub Desktop.
Exemplos de decoradores com argumentos
def logged(level, name=None, message=None):
def decorate(func):
logname = name if name else func.__name__
log = logging.getLogger(logname)
logmsg = message if message else func.__name__
@wraps(func)
def wrapper(*args, **kwargs):
log.log(level, logmsg)
return func(*args, **kwargs)
return wrapper
return decorate
@logged(logging.DEBUG)
def add(x, y):
return x + y
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment