遵义市网站建设_网站建设公司_一站式建站_seo优化
2026/1/14 14:50:29 网站建设 项目流程
importfunctoolsimportloggingfromtypingimportCallable logger=logging.getLogger(__name__)deflog_io(func:Callable)->Callable:""" 记录工具函数的输入参数和输出的装饰器。 Args: function:要装饰的工具功能 Returns: 带有输入/输出日志记录的包装函数 """@functools.wraps(func)defwrapper(*args,**kwargs):func_name=func.__name__ parms=", ".join([*(str(arg)forarginargs),*(f"{k}={v}"fork,vinkwargs.items())])logger.info(f"function name:{func_name}, in-params:{parms}")resp=func(*args,**kwargs)logger.info(f"function:{func_name}({parms}) response:{resp}")returnrespreturnwrapper

在不修改原函数代码的前提下,自动记录函数被调用时的输入参数和输出结果,便于调试、审计或监控。

使用示例

@log_iodefmultiply(a,b):returna*b multiply(2,3)

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询