Coding 【每日一题】定义一个带参数的装饰器 -Python-20210904

Jack · 2021年09月04日 · 最后由 Jack 回复于 2021年09月05日 · 33 次阅读
本帖已被设为精华帖!

定义一个带参数的装饰器

Jack 将本帖设为了精华贴 09月04日 21:21

参考代码:

from functools import wraps
import logging
def logged(level, name = None, message = None):
    def decorate(func):
        log_name = name if name else func.__module__
        log = logging.getLogger(log_name)
        log_msg = message if message else func.__name__

        @wraps(func)
        def wrapper(*args, **kwargs):
            log.log(level, log_msg)
            return func(*args, **kwargs)
        return wrapper
    return decorate
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册