Skip to content

Commit af07ef8

Browse files
structured logging
1 parent 3aca204 commit af07ef8

File tree

3 files changed

+22
-2
lines changed

3 files changed

+22
-2
lines changed

poetry.lock

Lines changed: 16 additions & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ botocore = "^1.37.3"
3131
eval-type-backport = "^0.2.2"
3232
mangum = "^0.19.0"
3333
wireup = "^0.16.0"
34+
python-json-logger = "^3.3.0"
3435

3536
[tool.poetry.group.dev.dependencies]
3637
ruff = "^0.11.0"

src/eligibility_signposting_api/config.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import os
33
from typing import Any, NewType
44

5+
from pythonjsonlogger.json import JsonFormatter
56
from yarl import URL
67

78
LOG_LEVEL = logging.getLevelNamesMapping().get(os.getenv("LOG_LEVEL", ""), logging.WARNING)
@@ -22,4 +23,7 @@ def config() -> dict[str, Any]:
2223

2324
def init_logging() -> None:
2425
log_format = "%(asctime)s %(levelname)-8s %(name)s %(module)s.py:%(funcName)s():%(lineno)d %(message)s"
25-
logging.basicConfig(level=LOG_LEVEL, format=log_format, handlers=[logging.StreamHandler()])
26+
formatter = JsonFormatter(log_format)
27+
handler = logging.StreamHandler()
28+
handler.setFormatter(formatter)
29+
logging.basicConfig(level=LOG_LEVEL, format=log_format, handlers=[handler])

0 commit comments

Comments
 (0)