app_config.py 681 Bytes
import functools
import os
import yaml

from app.schemas.config_schema import AppConfig

import logging

logger = logging.getLogger(__name__)

@functools.lru_cache()
def getAppConfig()->AppConfig:
    logger.info('开始加载AppConfig')
    # 获取当前文件的绝对路径
    current_file_path = os.path.abspath(__file__)
    # 获取当前文件的上级目录
    parent_directory = os.path.dirname(current_file_path)
    # 构建application.yaml文件的路径
    application_yaml_path = os.path.join(parent_directory, '..', 'application.yaml')
    with open(application_yaml_path, 'r') as f:
        log_config = yaml.safe_load(f)
        return AppConfig(**log_config)