| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- """
- 作用 : 用于debug调试相关的函数,不用于最终的记录
- """
- import logging
- import time
- from functools import wraps
- # 配置日志
- logging.basicConfig(
- level=logging.INFO,
- format='%(asctime)s - %(name)s - %(levelname)s - %(message)s'
- )
- logger = logging.getLogger('FunctionLogger')
- def log_function_call(level=logging.INFO):
- """
- 函数日志记录装饰器
- 参数:
- level: 日志级别,默认为INFO
- """
- def decorator(func):
- @wraps(func)
- def wrapper(*args, **kwargs):
- # 记录函数开始执行
- logger.log(level, f"开始执行函数: {func.__name__}")
- logger.log(level, f"参数: args={args}, kwargs={kwargs}")
- # 记录执行时间
- start_time = time.time()
- try:
- # 执行函数
- result = func(*args, **kwargs)
- # 记录执行结果
- end_time = time.time()
- execution_time = end_time - start_time
- logger.log(level, f"函数 {func.__name__} 执行成功")
- logger.log(level, f"返回值: {result}")
- logger.log(level, f"执行时间: {execution_time:.4f} 秒")
- return result
- except Exception as e:
- # 记录异常信息
- end_time = time.time()
- execution_time = end_time - start_time
- logger.error(f"函数 {func.__name__} 执行失败: {str(e)}")
- logger.error(f"执行时间: {execution_time:.4f} 秒")
- raise # 重新抛出异常
- return wrapper
- return decorator
|