Skip to content

Commit 0ebb46f

Browse files
authored
[ServiceBus/EventHub] add service specific message annotations to receiver logs (#38090)
* [ServiceBus] add service specific message annotations to receiver logs * add to eventhub + update readme logging to include thread formatting * only log service annotations header props * move logging to sdk layer * move msg logging into eh consumer * remove sb pyamqp recvr logs * black
1 parent 8a810a3 commit 0ebb46f

File tree

7 files changed

+34
-0
lines changed

7 files changed

+34
-0
lines changed

sdk/eventhub/azure-eventhub/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010

1111
### Other Changes
1212

13+
- Added logging to track received messages.
14+
1315
## 5.12.2 (2024-10-02)
1416

1517
### Bugs Fixed

sdk/eventhub/azure-eventhub/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -453,6 +453,8 @@ import logging
453453
import sys
454454

455455
handler = logging.StreamHandler(stream=sys.stdout)
456+
log_fmt = logging.Formatter(fmt="%(asctime)s | %(threadName)s | %(levelname)s | %(name)s | %(message)s")
457+
handler.setFormatter(log_fmt)
456458
logger = logging.getLogger('azure.eventhub')
457459
logger.setLevel(logging.DEBUG)
458460
logger.addHandler(handler)

sdk/eventhub/azure-eventhub/azure/eventhub/_consumer.py

+7
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,13 @@ def _next_message_in_buffer(self):
164164
# pylint:disable=protected-access
165165
message = self._message_buffer.popleft()
166166
event_data = EventData._from_message(message)
167+
if self._client._config.network_tracing and _LOGGER.isEnabledFor(logging.DEBUG):
168+
_LOGGER.debug(
169+
"Received message: seq-num: %r, offset: %r, partition-key: %r",
170+
event_data.sequence_number,
171+
event_data.offset,
172+
event_data.partition_key,
173+
)
167174
if self._amqp_transport.KIND == "uamqp":
168175
event_data._uamqp_message = message
169176
self._last_received_event = event_data

sdk/eventhub/azure-eventhub/azure/eventhub/aio/_consumer_async.py

+7
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,13 @@ def _next_message_in_buffer(self):
159159
# pylint:disable=protected-access
160160
message = self._message_buffer.popleft()
161161
event_data = EventData._from_message(message)
162+
if self._client._config.network_tracing and _LOGGER.isEnabledFor(logging.DEBUG):
163+
_LOGGER.debug(
164+
"Received message: seq-num: %r, offset: %r, partition-key: %r",
165+
event_data.sequence_number,
166+
event_data.offset,
167+
event_data.partition_key,
168+
)
162169
if self._amqp_transport.KIND == "uamqp":
163170
event_data._uamqp_message = message
164171
self._last_received_event = event_data

sdk/servicebus/azure-servicebus/CHANGELOG.md

+2
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212

1313
### Other Changes
1414

15+
- Added logging to track received messages.
16+
1517
## 7.12.3 (2024-09-19)
1618

1719
### Bugs Fixed

sdk/servicebus/azure-servicebus/README.md

+2
Original file line numberDiff line numberDiff line change
@@ -424,6 +424,8 @@ import logging
424424
import sys
425425

426426
handler = logging.StreamHandler(stream=sys.stdout)
427+
log_fmt = logging.Formatter(fmt="%(asctime)s | %(threadName)s | %(levelname)s | %(name)s | %(message)s")
428+
handler.setFormatter(log_fmt)
427429
logger = logging.getLogger('azure.servicebus')
428430
logger.setLevel(logging.DEBUG)
429431
logger.addHandler(handler)

sdk/servicebus/azure-servicebus/azure/servicebus/_transport/_pyamqp_transport.py

+12
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import datetime
1111
from datetime import timezone
1212
from typing import Optional, Tuple, cast, List, TYPE_CHECKING, Any, Callable, Dict, Union, Iterator, Type
13+
import logging
1314

1415
from .._pyamqp import (
1516
utils,
@@ -102,6 +103,8 @@
102103
from .._pyamqp.client import AMQPClient
103104
from .._pyamqp.message import MessageDict
104105

106+
_LOGGER = logging.getLogger(__name__)
107+
105108

106109
class _ServiceBusErrorPolicy(RetryPolicy):
107110

@@ -711,6 +714,15 @@ def build_received_message(
711714
amqp_transport=receiver._amqp_transport,
712715
)
713716
receiver._last_received_sequenced_number = message.sequence_number
717+
if receiver._config.logging_enable and _LOGGER.isEnabledFor(logging.DEBUG):
718+
_LOGGER.debug(
719+
"Received message: seq-num: %r, enqd-utc: %r, lockd-til-utc: %r, ttl: %r, dlvry-cnt: %r",
720+
message.sequence_number,
721+
message.enqueued_time_utc,
722+
message.locked_until_utc,
723+
message.time_to_live,
724+
message.delivery_count,
725+
)
714726
return message
715727

716728
@staticmethod

0 commit comments

Comments
 (0)