# -*-coding:utf-8 -*- # # --------------------------------------------------------------------------- # ProjectName: test # FileName: __init__.py # Author: lin # Datetime: 2024/12/26 16:41 # Description: # # --------------------------------------------------------------------------- import functools import logging import os import time log_path = os.path.join(os.path.join(os.path.join(os.path.dirname(__file__),"report"),"log"),time.strftime("%Y_%m_%d_%H_%M_%S", time.localtime())+".log") def log_1(log_file): """创建日志""" logger = logging.getLogger() logger.setLevel("INFO") handler = logging.FileHandler(log_file, mode="a", encoding="utf-8") formatter = logging.Formatter("%(asctime)s - %(levelname)s: %(message)s") handler.setFormatter(formatter) logger.addHandler(handler) return logger log_2 = log_1(log_path) """创建生成器""" def log(func_name): @functools.wraps(func_name) def inner(*args, **kwargs): try: log_2.info(f"执行的功能为:{func_name.__name__},功能的描述为:{func_name.__doc__}, 所在的文件路径为:{func_name.__code__.co_filename}, 所做的行为:{func_name.__code__.co_firstlineno}" ) res = func_name(*args, **kwargs) except Exception as e: log_2.error(f"执行的功能为:{func_name.__name__},功能的描述为:{func_name.__doc__}, 所在的文件路径为:{func_name.__code__.co_filename}, 所做的行为:{func_name.__code__.co_firstlineno}, 错误的类型为:{type(e)}, 错误为:{e}") raise e else: return res return inner