使用装饰器实现自动化日志系统

使用装饰器实现自动化日志系统

使用装饰器实现自动化日志系统的示例代码如下:

python 复制代码
import logging
from functools import wraps

def log_function(func):
    @wraps(func)
    def wrapper(*args, **kwargs):
        logging.info(f"调用函数:{func.__name__}")
        result = func(*args, **kwargs)
        logging.info(f"函数执行完成:{func.__name__},结果为:{result}")
        return result
    return wrapper

@log_function
def 加法(a, b):
    return a + b

@log_function
def 乘法(a, b):
    return a * b

logging.basicConfig(level=logging.INFO)

print(加法(2, 3))
print(乘法(4, 5))

在这个示例中,我们定义了一个装饰器 log_function,它记录函数调用前的和后的信息。@wraps(func) 用于保留原始函数的元数据(名称、文档字符串等)。

然后,我们将这个装饰器应用于两个函数:加法乘法。当这些函数被调用时,它们将被包围在 logging 函数中。

输出结果将是:

python 复制代码
INFO:root:调用函数:加法
INFO:root:函数执行完成:加法,结果为:5
INFO:root:调用函数:乘法
INFO:root:函数执行完成:乘法,结果为:20
相关推荐
科技云报道6 小时前
AI时代重新定义“信任”,瑞数信息发布全新AI安全产品体系
人工智能·安全
用户970161501686 小时前
微服务里最危险的 DELETE,不是删不掉,是只删了一半
人工智能·后端
夏洛克信徒6 小时前
当黄仁勋说出“AGI已来“:2026年9月大模型风暴观察
人工智能·gpt·chatgpt·agi
智塑未来6 小时前
短剧出海平台选择:技术视角下的翻译配音工具选型与自动化流程实战
运维·自动化·xcode
通问AI6 小时前
用多模态图像模型批量生产电商主图:Prompt 模板化 + 自动化质检的工程实践
人工智能
也不知秋6 小时前
从“能回答”到“能干活”:AI Agent真正落地,需要哪些工程能力?
人工智能·程序员
ACP广源盛139246256736 小时前
国产 PCIe4.0 交换芯片 IX8012@ACP:AI 推理服务器高速 IO 扩展方案解析
人工智能·硬件架构·pcie·国产芯片·ai服务器
会飞的拖把7 小时前
Python 多任务编程:并发、进程、线程与线程安全详解
开发语言·python
搞科研的小刘选手7 小时前
【计算机全领域稿件可收 | 东南大学自动化学院主办 | 苏州举办】第二届大数据应用、机电工程与自动化国际学术会议(BDAMEA 2026)
自动化·机电工程·会议推荐·大数据应用·东南大学自动化学院
论文复现现场7 小时前
单卡RTX 3090能训练,切到4卡却OOM:Accelerate多卡训练怎么排查?
人工智能·pytorch·云计算·gpu算力·多卡训练