diff --git a/app/api/stuff.py b/app/api/stuff.py index b28df6c..9de1917 100644 --- a/app/api/stuff.py +++ b/app/api/stuff.py @@ -5,39 +5,29 @@ from sqlalchemy.ext.asyncio import AsyncSession from app.database import get_db from app.models.stuff import Stuff from app.schemas.stuff import StuffResponse, StuffSchema -from app.utils import get_logger +from app.logging import AppLogger + +logger = AppLogger.__call__().get_logger() router = APIRouter(prefix="/v1/stuff") -logger = get_logger(__name__) - @router.post("/add_many", status_code=status.HTTP_201_CREATED) -async def create_multi_stuff( - payload: list[StuffSchema], db_session: AsyncSession = Depends(get_db) -): +async def create_multi_stuff(payload: list[StuffSchema], db_session: AsyncSession = Depends(get_db)): try: - stuff_instances = [ - Stuff(name=stuf.name, description=stuf.description) for stuf in payload - ] + stuff_instances = [Stuff(name=stuf.name, description=stuf.description) for stuf in payload] db_session.add_all(stuff_instances) await db_session.commit() except SQLAlchemyError as ex: # logger.exception(ex) - raise HTTPException( - status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=repr(ex) - ) from ex + raise HTTPException(status_code=status.HTTP_422_UNPROCESSABLE_ENTITY, detail=repr(ex)) from ex else: - logger.info( - f"{len(stuff_instances)} instances of Stuff inserted into database." - ) + logger.info(f"{len(stuff_instances)} instances of Stuff inserted into database.") return True @router.post("", status_code=status.HTTP_201_CREATED, response_model=StuffResponse) -async def create_stuff( - payload: StuffSchema, db_session: AsyncSession = Depends(get_db) -): +async def create_stuff(payload: StuffSchema, db_session: AsyncSession = Depends(get_db)): stuff = Stuff(name=payload.name, description=payload.description) await stuff.save(db_session) return stuff diff --git a/app/database.py b/app/database.py index b0c2783..621cbe1 100644 --- a/app/database.py +++ b/app/database.py @@ -4,11 +4,10 @@ from sqlalchemy.ext.asyncio import AsyncSession, create_async_engine from sqlalchemy.orm import sessionmaker from app import config -from app.utils import get_logger - -logger = get_logger(__name__) +from app.logging import AppLogger global_settings = config.get_settings() +logger = AppLogger.__call__().get_logger() engine = create_async_engine( global_settings.asyncpg_url, @@ -18,13 +17,11 @@ engine = create_async_engine( # expire_on_commit=False will prevent attributes from being expired # after commit. -AsyncSessionFactory = sessionmaker( - engine, autoflush=False, expire_on_commit=False, class_=AsyncSession -) +AsyncSessionFactory = sessionmaker(engine, autoflush=False, expire_on_commit=False, class_=AsyncSession) # Dependency async def get_db() -> AsyncGenerator: async with AsyncSessionFactory() as session: - logger.debug(f"ASYNC Pool: {engine.pool.status()}") + # logger.debug(f"ASYNC Pool: {engine.pool.status()}") yield session diff --git a/app/main.py b/app/main.py index 80abb46..16ace8e 100644 --- a/app/main.py +++ b/app/main.py @@ -3,9 +3,9 @@ from fastapi import FastAPI from app.api.nonsense import router as nonsense_router from app.api.shakespeare import router as shakespeare_router from app.api.stuff import router as stuff_router -from app.utils import get_logger +from app.logging import AppLogger -logger = get_logger(__name__) +logger = AppLogger.__call__().get_logger() app = FastAPI(title="Stuff And Nonsense API", version="0.5")