diff --git a/packages/aws-event-stream/src/aws_event_stream/_private/deserializers.py b/packages/aws-event-stream/src/aws_event_stream/_private/deserializers.py index c9cfdbb4f..dadf8edc0 100644 --- a/packages/aws-event-stream/src/aws_event_stream/_private/deserializers.py +++ b/packages/aws-event-stream/src/aws_event_stream/_private/deserializers.py @@ -2,6 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 import asyncio import datetime +import logging from collections.abc import Callable from smithy_core.aio.interfaces import AsyncByteStream @@ -25,6 +26,8 @@ ) from smithy_core.traits import EventHeaderTrait +logger = logging.getLogger(__name__) + INITIAL_MESSAGE_TYPES = (INITIAL_REQUEST_EVENT_TYPE, INITIAL_RESPONSE_EVENT_TYPE) @@ -55,7 +58,9 @@ async def receive(self) -> E | None: raise if event is None: + logger.debug("No event received from the source.") return None + logger.debug("Received raw event: %s", event) deserializer = EventDeserializer( event=event, @@ -63,6 +68,7 @@ async def receive(self) -> E | None: is_client_mode=self._is_client_mode, ) result = self._deserializer(deserializer) + logger.debug("Successfully deserialized event: %s", result) if isinstance(getattr(result, "value"), Exception): raise result.value # type: ignore return result diff --git a/packages/aws-event-stream/src/aws_event_stream/_private/serializers.py b/packages/aws-event-stream/src/aws_event_stream/_private/serializers.py index 933381c4b..3c98a570a 100644 --- a/packages/aws-event-stream/src/aws_event_stream/_private/serializers.py +++ b/packages/aws-event-stream/src/aws_event_stream/_private/serializers.py @@ -2,6 +2,7 @@ # SPDX-License-Identifier: Apache-2.0 import asyncio import datetime +import logging from collections.abc import Callable, Iterator from contextlib import contextmanager from io import BytesIO @@ -29,6 +30,8 @@ ) from smithy_core.traits import ErrorTrait, EventHeaderTrait, MediaTypeTrait +logger = logging.getLogger(__name__) + _DEFAULT_STRING_CONTENT_TYPE = "text/plain" _DEFAULT_BLOB_CONTENT_TYPE = "application/octet-stream" @@ -55,6 +58,7 @@ def __init__( async def send(self, event: E) -> None: if self._closed: raise IOError("Attempted to write to closed stream.") + logger.debug("Preparing to publish event: %s", event) event.serialize(self._serializer) result = self._serializer.get_result() if result is None: @@ -66,6 +70,7 @@ async def send(self, event: E) -> None: encoded_result = result.encode() try: + logger.debug("Publishing serialized event: %s", result) await self._writer.write(encoded_result) except Exception as e: await self.close()