|
2 | 2 | import gzip |
3 | 3 | import io |
4 | 4 | import json |
| 5 | +import logging |
5 | 6 | import os |
6 | 7 | import socket |
7 | 8 | import ssl |
@@ -1091,34 +1092,43 @@ def __init__(self, transport: "Transport") -> None: |
1091 | 1092 | self._inner = transport |
1092 | 1093 | self.parsed_dsn = transport.parsed_dsn |
1093 | 1094 |
|
| 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 | + |
1094 | 1104 | @property # type: ignore[misc] |
1095 | 1105 | def __class__(self) -> type: |
1096 | 1106 | return self._inner.__class__ |
1097 | 1107 |
|
1098 | 1108 | def capture_envelope(self, envelope: "Envelope") -> None: |
1099 | 1109 | try: |
1100 | | - logger.debug("--- Sentry Envelope ---") |
1101 | | - logger.debug( |
| 1110 | + self.envelope_logger.info("--- Sentry Envelope ---") |
| 1111 | + self.envelope_logger.info( |
1102 | 1112 | "Headers: %s", json.dumps(envelope.headers, indent=2, default=str) |
1103 | 1113 | ) |
1104 | 1114 | 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( |
1107 | 1117 | " Item headers: %s", |
1108 | 1118 | json.dumps(item.headers, indent=2, default=str), |
1109 | 1119 | ) |
1110 | 1120 | try: |
1111 | 1121 | payload = json.loads(item.get_bytes()) |
1112 | | - logger.debug( |
| 1122 | + self.envelope_logger.info( |
1113 | 1123 | " Payload:\n%s", |
1114 | 1124 | json.dumps(payload, indent=2, default=str), |
1115 | 1125 | ) |
1116 | 1126 | except (ValueError, TypeError): |
1117 | | - logger.debug( |
| 1127 | + self.envelope_logger.info( |
1118 | 1128 | " Payload: <binary %d bytes>", |
1119 | 1129 | len(item.get_bytes()), |
1120 | 1130 | ) |
1121 | | - logger.debug("--- End Envelope ---") |
| 1131 | + self.envelope_logger.info("--- End Envelope ---") |
1122 | 1132 | except Exception: |
1123 | 1133 | pass |
1124 | 1134 |
|
|
0 commit comments