Skip to content

Commit 7f9e04e

Browse files
committed
create logger specific to the EnvelopePrinterTransport in order to remove the need to set the debug property in the sentry client when the env var controlling this is set
1 parent f0c3b66 commit 7f9e04e

1 file changed

Lines changed: 17 additions & 7 deletions

File tree

sentry_sdk/transport.py

Lines changed: 17 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
import gzip
33
import io
44
import json
5+
import logging
56
import os
67
import socket
78
import ssl
@@ -1091,34 +1092,43 @@ def __init__(self, transport: "Transport") -> None:
10911092
self._inner = transport
10921093
self.parsed_dsn = transport.parsed_dsn
10931094

1095+
self.envelope_logger = logging.getLogger("sentry_sdk.envelopes")
1096+
self.envelope_logger.setLevel(logging.INFO)
1097+
self.envelope_logger.propagate = False
1098+
if not self.envelope_logger.handlers:
1099+
handler = logging.StreamHandler()
1100+
handler.setLevel(logging.INFO)
1101+
handler.setFormatter(logging.Formatter("%(message)s"))
1102+
self.envelope_logger.addHandler(handler)
1103+
10941104
@property # type: ignore[misc]
10951105
def __class__(self) -> type:
10961106
return self._inner.__class__
10971107

10981108
def capture_envelope(self, envelope: "Envelope") -> None:
10991109
try:
1100-
logger.debug("--- Sentry Envelope ---")
1101-
logger.debug(
1110+
self.envelope_logger.info("--- Sentry Envelope ---")
1111+
self.envelope_logger.info(
11021112
"Headers: %s", json.dumps(envelope.headers, indent=2, default=str)
11031113
)
11041114
for item in envelope.items:
1105-
logger.debug(" Item type: %s", item.type)
1106-
logger.debug(
1115+
self.envelope_logger.info(" Item type: %s", item.type)
1116+
self.envelope_logger.info(
11071117
" Item headers: %s",
11081118
json.dumps(item.headers, indent=2, default=str),
11091119
)
11101120
try:
11111121
payload = json.loads(item.get_bytes())
1112-
logger.debug(
1122+
self.envelope_logger.info(
11131123
" Payload:\n%s",
11141124
json.dumps(payload, indent=2, default=str),
11151125
)
11161126
except (ValueError, TypeError):
1117-
logger.debug(
1127+
self.envelope_logger.info(
11181128
" Payload: <binary %d bytes>",
11191129
len(item.get_bytes()),
11201130
)
1121-
logger.debug("--- End Envelope ---")
1131+
self.envelope_logger.info("--- End Envelope ---")
11221132
except Exception:
11231133
pass
11241134

0 commit comments

Comments
 (0)