X7ROOT File Manager
Current Path:
/opt/hc_python/lib/python3.12/site-packages/sentry_sdk
opt
/
hc_python
/
lib
/
python3.12
/
site-packages
/
sentry_sdk
/
??
..
??
__init__.py
(1.38 KB)
??
__pycache__
??
_compat.py
(3.04 KB)
??
_init_implementation.py
(2.5 KB)
??
_log_batcher.py
(5.37 KB)
??
_lru_cache.py
(1.2 KB)
??
_metrics_batcher.py
(4.92 KB)
??
_queue.py
(10.99 KB)
??
_types.py
(10.18 KB)
??
_werkzeug.py
(3.65 KB)
??
ai
??
api.py
(14.92 KB)
??
attachments.py
(3.04 KB)
??
client.py
(41.11 KB)
??
consts.py
(52.47 KB)
??
crons
??
debug.py
(1019 B)
??
envelope.py
(10.23 KB)
??
feature_flags.py
(2.18 KB)
??
hub.py
(25.14 KB)
??
integrations
??
logger.py
(2.73 KB)
??
metrics.py
(2 KB)
??
monitor.py
(3.55 KB)
??
profiler
??
py.typed
(0 B)
??
scope.py
(63.89 KB)
??
scrubber.py
(5.92 KB)
??
serializer.py
(13.22 KB)
??
session.py
(5.46 KB)
??
sessions.py
(8.96 KB)
??
spotlight.py
(8.47 KB)
??
tracing.py
(50.53 KB)
??
tracing_utils.py
(39.59 KB)
??
transport.py
(31.13 KB)
??
types.py
(1.24 KB)
??
utils.py
(62.4 KB)
??
worker.py
(4.36 KB)
Editing: logger.py
# NOTE: this is the logger sentry exposes to users, not some generic logger. import functools import time from typing import Any from sentry_sdk import get_client from sentry_sdk.utils import safe_repr, capture_internal_exceptions OTEL_RANGES = [ # ((severity level range), severity text) # https://opentelemetry.io/docs/specs/otel/logs/data-model ((1, 4), "trace"), ((5, 8), "debug"), ((9, 12), "info"), ((13, 16), "warn"), ((17, 20), "error"), ((21, 24), "fatal"), ] class _dict_default_key(dict): # type: ignore[type-arg] """dict that returns the key if missing.""" def __missing__(self, key): # type: (str) -> str return "{" + key + "}" def _capture_log(severity_text, severity_number, template, **kwargs): # type: (str, int, str, **Any) -> None client = get_client() body = template attrs = {} # type: dict[str, str | bool | float | int] if "attributes" in kwargs: attrs.update(kwargs.pop("attributes")) for k, v in kwargs.items(): attrs[f"sentry.message.parameter.{k}"] = v if kwargs: # only attach template if there are parameters attrs["sentry.message.template"] = template with capture_internal_exceptions(): body = template.format_map(_dict_default_key(kwargs)) attrs = { k: ( v if ( isinstance(v, str) or isinstance(v, int) or isinstance(v, bool) or isinstance(v, float) ) else safe_repr(v) ) for (k, v) in attrs.items() } # noinspection PyProtectedMember client._capture_log( { "severity_text": severity_text, "severity_number": severity_number, "attributes": attrs, "body": body, "time_unix_nano": time.time_ns(), "trace_id": None, }, ) trace = functools.partial(_capture_log, "trace", 1) debug = functools.partial(_capture_log, "debug", 5) info = functools.partial(_capture_log, "info", 9) warning = functools.partial(_capture_log, "warn", 13) error = functools.partial(_capture_log, "error", 17) fatal = functools.partial(_capture_log, "fatal", 21) def _otel_severity_text(otel_severity_number): # type: (int) -> str for (lower, upper), severity in OTEL_RANGES: if lower <= otel_severity_number <= upper: return severity return "default" def _log_level_to_otel(level, mapping): # type: (int, dict[Any, int]) -> tuple[int, str] for py_level, otel_severity_number in sorted(mapping.items(), reverse=True): if level >= py_level: return otel_severity_number, _otel_severity_text(otel_severity_number) return 0, "default"
Upload File
Create Folder