Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,5 @@ Built to showcase best practices in Python backend development and serve as a so
poetry install

# Run the development server
poetry run uvicorn app.main:app --reload
poetry run uvicorn app.main:app --reload --log-config=log_config.yml
```
7 changes: 7 additions & 0 deletions app/services/user_service.py
Original file line number Diff line number Diff line change
@@ -1,14 +1,21 @@
import logging

from app.models.user import User, UserCreate

log = logging.getLogger(__name__)

_fake_db: list[User] = []


async def save_user(user: UserCreate) -> User:
log.debug("Creating user")
user_id = len(_fake_db) + 1
new_user = User(id=user_id, **user.model_dump())
_fake_db.append(new_user)
log.info("User created")
return new_user


async def get_all_users() -> list[User]:
log.debug("Reading all users")
return _fake_db
30 changes: 30 additions & 0 deletions log_config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
version: 1
formatters:
default:
format: '%(asctime)s | %(levelname)-8s | %(name)-30s | %(message)s'
datefmt: '%Y-%m-%d %H:%M:%S'
handlers:
default:
class: logging.StreamHandler
formatter: default
stream: ext://sys.stdout
loggers:
uvicorn:
handlers: [ default ]
level: INFO
propagate: false
uvicorn.error:
handlers: [ default ]
level: INFO
propagate: false
uvicorn.access:
handlers: [ default ]
level: INFO
propagate: false
app:
handlers: [ default ]
level: DEBUG
propagate: false
root:
level: INFO
handlers: [ default ]