Skip to content

Commit 04fac8d

Browse files
authored
feat: add logs (#2)
1 parent 5dd42bc commit 04fac8d

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ Built to showcase best practices in Python backend development and serve as a so
2727
poetry install
2828

2929
# Run the development server
30-
poetry run uvicorn app.main:app --reload
30+
poetry run uvicorn app.main:app --reload --log-config=log_config.yml
3131
```

app/services/user_service.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,21 @@
1+
import logging
2+
13
from app.models.user import User, UserCreate
24

5+
log = logging.getLogger(__name__)
6+
37
_fake_db: list[User] = []
48

59

610
async def save_user(user: UserCreate) -> User:
11+
log.debug("Creating user")
712
user_id = len(_fake_db) + 1
813
new_user = User(id=user_id, **user.model_dump())
914
_fake_db.append(new_user)
15+
log.info("User created")
1016
return new_user
1117

1218

1319
async def get_all_users() -> list[User]:
20+
log.debug("Reading all users")
1421
return _fake_db

log_config.yml

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
version: 1
2+
formatters:
3+
default:
4+
format: '%(asctime)s | %(levelname)-8s | %(name)-30s | %(message)s'
5+
datefmt: '%Y-%m-%d %H:%M:%S'
6+
handlers:
7+
default:
8+
class: logging.StreamHandler
9+
formatter: default
10+
stream: ext://sys.stdout
11+
loggers:
12+
uvicorn:
13+
handlers: [ default ]
14+
level: INFO
15+
propagate: false
16+
uvicorn.error:
17+
handlers: [ default ]
18+
level: INFO
19+
propagate: false
20+
uvicorn.access:
21+
handlers: [ default ]
22+
level: INFO
23+
propagate: false
24+
app:
25+
handlers: [ default ]
26+
level: DEBUG
27+
propagate: false
28+
root:
29+
level: INFO
30+
handlers: [ default ]

0 commit comments

Comments
 (0)