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

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

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

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
相关推荐
RisunJan6 分钟前
【这就是AI】AI每日资讯简报 - 2026-09-28(周一)
大数据·人工智能
也非非也14 分钟前
DeepSeek没发公告,但它把Agent装进了你的电脑
人工智能·开源·agent·deepseek·dsh
进击的横打15 分钟前
【人工智能】用AI搭建个人决策系统
人工智能
YoungStudyAI20 分钟前
QA的下一个自动化阶段,可能不是再写更多脚本,而是设计测试Agent
运维·自动化
金八梭23 分钟前
车辆能源种类
自动化·车辆工程·电气工程
2601_9567436824 分钟前
2026年上海GEO优化公司交付力测评:从AI信息链路看可核验、可量化、可归属的能力分野
人工智能·ai·上海·行业观察
weixin_6665939926 分钟前
从一句话建表看时空智能体的元数据治理架构——Harness、MCP、Skill如何协同
人工智能·agent·结构化数据·建库
圆圆讲门店34 分钟前
挑选同城获客服务机构时需要考量的核心因素都有哪些?
大数据·网络·人工智能·python
揽秀亭长36 分钟前
论文降AI率有哪些方法?论文修改流程详解
人工智能·深度学习
爱上纯净的蓝天39 分钟前
只输出选项和概率的模型:判别层的接口契约与阈值工程
人工智能·大模型·llm·模型评估·架构设计