Skip to content

Commit 7c72f8f

Browse files
authored
Add logging for input and output event streams (#408)
1 parent 829b418 commit 7c72f8f

File tree

2 files changed

+11
-0
lines changed

2 files changed

+11
-0
lines changed

packages/aws-event-stream/src/aws_event_stream/_private/deserializers.py

+6
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33
import asyncio
44
import datetime
5+
import logging
56
from collections.abc import Callable
67

78
from smithy_core.aio.interfaces import AsyncByteStream
@@ -25,6 +26,8 @@
2526
)
2627
from smithy_core.traits import EventHeaderTrait
2728

29+
logger = logging.getLogger(__name__)
30+
2831
INITIAL_MESSAGE_TYPES = (INITIAL_REQUEST_EVENT_TYPE, INITIAL_RESPONSE_EVENT_TYPE)
2932

3033

@@ -55,14 +58,17 @@ async def receive(self) -> E | None:
5558
raise
5659

5760
if event is None:
61+
logger.debug("No event received from the source.")
5862
return None
63+
logger.debug("Received raw event: %s", event)
5964

6065
deserializer = EventDeserializer(
6166
event=event,
6267
payload_codec=self._payload_codec,
6368
is_client_mode=self._is_client_mode,
6469
)
6570
result = self._deserializer(deserializer)
71+
logger.debug("Successfully deserialized event: %s", result)
6672
if isinstance(getattr(result, "value"), Exception):
6773
raise result.value # type: ignore
6874
return result

packages/aws-event-stream/src/aws_event_stream/_private/serializers.py

+5
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
# SPDX-License-Identifier: Apache-2.0
33
import asyncio
44
import datetime
5+
import logging
56
from collections.abc import Callable, Iterator
67
from contextlib import contextmanager
78
from io import BytesIO
@@ -29,6 +30,8 @@
2930
)
3031
from smithy_core.traits import ErrorTrait, EventHeaderTrait, MediaTypeTrait
3132

33+
logger = logging.getLogger(__name__)
34+
3235
_DEFAULT_STRING_CONTENT_TYPE = "text/plain"
3336
_DEFAULT_BLOB_CONTENT_TYPE = "application/octet-stream"
3437

@@ -55,6 +58,7 @@ def __init__(
5558
async def send(self, event: E) -> None:
5659
if self._closed:
5760
raise IOError("Attempted to write to closed stream.")
61+
logger.debug("Preparing to publish event: %s", event)
5862
event.serialize(self._serializer)
5963
result = self._serializer.get_result()
6064
if result is None:
@@ -66,6 +70,7 @@ async def send(self, event: E) -> None:
6670

6771
encoded_result = result.encode()
6872
try:
73+
logger.debug("Publishing serialized event: %s", result)
6974
await self._writer.write(encoded_result)
7075
except Exception as e:
7176
await self.close()

0 commit comments

Comments
 (0)