TestFastApi/core/config.py

35 lines
706 B
Python

from pydantic_settings import BaseSettings
from pydantic import BaseModel
from pathlib import Path
import logging
BASE_DIR = Path(__file__).parent.parent
DB_PATH = BASE_DIR / "db.sqlite3"
class DbSettings(BaseModel):
url: str = f"sqlite+aiosqlite:///{DB_PATH}"
echo: bool = False
class Settings(BaseSettings):
api_v1_prefix: str = "/api/v1"
db: DbSettings = DbSettings()
settings = Settings()
def config_logging(level=logging.INFO):
logging.basicConfig(
level=level,
datefmt="%Y-%m-%d %H:%M:%S",
format="[%(asctime)s.%(msecs)03d] %(module)-15s:%(lineno)4d | %(funcName)-20s| %(levelname)-8s | %(message)s",
)
config_logging(level=logging.INFO)