PHP 8.3.31
Preview: _log_batcher.py Size: 1.88 KB
//opt/hc_python/lib64/python3.12/site-packages/sentry_sdk/_log_batcher.py

from typing import TYPE_CHECKING

from sentry_sdk._batcher import Batcher
from sentry_sdk.envelope import Item, PayloadRef
from sentry_sdk.utils import serialize_attribute

if TYPE_CHECKING:
    from typing import Any

    from sentry_sdk._types import Log


class LogBatcher(Batcher["Log"]):
    MAX_BEFORE_FLUSH = 100
    MAX_BEFORE_DROP = 1_000
    FLUSH_WAIT_TIME = 5.0

    TYPE = "log"
    CONTENT_TYPE = "application/vnd.sentry.items.log+json"

    @staticmethod
    def _to_transport_format(item: "Log") -> "Any":
        if "sentry.severity_number" not in item["attributes"]:
            item["attributes"]["sentry.severity_number"] = item["severity_number"]
        if "sentry.severity_text" not in item["attributes"]:
            item["attributes"]["sentry.severity_text"] = item["severity_text"]

        res = {
            "timestamp": int(item["time_unix_nano"]) / 1.0e9,
            "trace_id": item.get("trace_id", "00000000-0000-0000-0000-000000000000"),
            "span_id": item.get("span_id"),
            "level": str(item["severity_text"]),
            "body": str(item["body"]),
            "attributes": {
                k: serialize_attribute(v) for (k, v) in item["attributes"].items()
            },
        }

        return res

    def _record_lost(self, item: "Log") -> None:
        # Construct log envelope item without sending it to report lost bytes
        log_item = Item(
            type=self.TYPE,
            content_type=self.CONTENT_TYPE,
            headers={
                "item_count": 1,
            },
            payload=PayloadRef(
                json={
                    "version": 2,
                    "items": [self._to_transport_format(item)],
                }
            ),
        )

        self._record_lost_func(
            reason="queue_overflow",
            data_category="log_item",
            item=log_item,
            quantity=1,
        )

Directory Contents

Dirs: 5 × Files: 36

Name Size Perms Modified Actions
ai DIR
- drwxr-xr-x 2026-06-11 06:30:31
Edit Download
crons DIR
- drwxr-xr-x 2026-06-11 06:30:31
Edit Download
- drwxr-xr-x 2026-06-11 06:30:31
Edit Download
profiler DIR
- drwxr-xr-x 2026-06-11 06:30:31
Edit Download
- drwxr-xr-x 2026-06-11 06:30:31
Edit Download
15.59 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
2.95 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
49.95 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
61.95 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
959 B lrw-r--r-- 2026-06-11 06:30:30
Edit Download
9.37 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
2.50 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
24.54 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
2.60 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
1.42 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
4.47 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
0 B lrw-r--r-- 2026-06-11 06:30:30
Edit Download
74.09 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
5.99 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
12.82 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
5.08 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
8.59 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
11.85 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
25.08 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
50.33 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
54.36 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
44.41 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
1.24 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
65.96 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
10.91 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
5.70 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
3.00 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
2.43 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
1.88 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
1.14 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
1.21 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
10.98 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
8.12 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
13.16 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
3.85 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download
1.46 KB lrw-r--r-- 2026-06-11 06:30:30
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).