This commit is contained in:
@@ -24,6 +24,33 @@ def test_application_log_is_serialized_as_json() -> None:
|
||||
_reset_logging()
|
||||
|
||||
|
||||
def test_structured_context_is_preserved_and_rendered_in_event() -> None:
|
||||
stream = StringIO()
|
||||
|
||||
configure_logging(stream=stream)
|
||||
|
||||
structlog.get_logger("app.test").warning(
|
||||
"application_event",
|
||||
order_uuid="order-1",
|
||||
attempt=2,
|
||||
retryable=True,
|
||||
details={"code": "invalid"},
|
||||
)
|
||||
|
||||
payload = json.loads(stream.getvalue().splitlines()[0])
|
||||
|
||||
assert payload["event"] == (
|
||||
'application_event attempt=2 details={"code":"invalid"} '
|
||||
'order_uuid="order-1" retryable=true'
|
||||
)
|
||||
assert payload["order_uuid"] == "order-1"
|
||||
assert payload["attempt"] == 2
|
||||
assert payload["retryable"] is True
|
||||
assert payload["details"] == {"code": "invalid"}
|
||||
|
||||
_reset_logging()
|
||||
|
||||
|
||||
def test_uvicorn_loggers_use_shared_json_logging_setup() -> None:
|
||||
stream = StringIO()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user