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

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

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

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
相关推荐
IT古董2 分钟前
AI资讯日报 | 2026年8月31日:政策持续加码,大模型密集更新,开源生态快速扩张,AI智能体加速从实验室走向真实业务场景
人工智能
仙女修炼史5 分钟前
gradcam在yolo中的应用
人工智能·python·yolo
亚川楼宇自控系统数据中心厂家18 分钟前
金融数据中心:能碳一体化管理的技术逻辑
人工智能·金融
代码方舟26 分钟前
零信任架构实战:基于天远车辆过户详版查询构建自动化车辆估值网关
运维·人工智能·架构·自动化
沈管家AI数字员工28 分钟前
集团多组织AI怎么上?多子公司统一AI管理的架构与路径
人工智能·架构
美好世界28 分钟前
OpenCode 的 Agent Runtime:从本地状态到 Agent Loop
人工智能
leoZ23129 分钟前
AI+前端提效-09 AI赋能前端测试:单元测试、E2E测试自动生成,提升覆盖率
前端·人工智能·opencv·目标检测·数据挖掘·单元测试·语音识别
算了吧956937 分钟前
从“黑箱”到“透明”:答序科技如何用“诊断型”技术架构重构品牌AI可见度
人工智能·科技·架构
2601_9499506338 分钟前
考研英语资料太散?用小程序把真题、词汇和错题放到一起
人工智能·学习·考研·小程序·刷题·小程序推荐
ShineWinsu38 分钟前
对于OpenClaw:核心命令以及飞书钉钉等渠道的解析
人工智能·钉钉·飞书