Skip to content

Commit 46f6dc3

Browse files
committed
move compat funcs to utils, no circ imports that way
1 parent 4f76f12 commit 46f6dc3

File tree

5 files changed

+29
-30
lines changed

5 files changed

+29
-30
lines changed

sentry_sdk/client.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,8 @@
2323
handle_in_app,
2424
is_gevent,
2525
logger,
26+
get_before_send_log,
27+
has_logs_enabled,
2628
)
2729
from sentry_sdk.serializer import serialize
2830
from sentry_sdk.tracing import trace
@@ -383,8 +385,6 @@ def _capture_envelope(envelope):
383385

384386
self.log_batcher = None
385387

386-
from sentry_sdk.logger import has_logs_enabled
387-
388388
if has_logs_enabled(self.options):
389389
from sentry_sdk._log_batcher import LogBatcher
390390

@@ -902,8 +902,6 @@ def capture_event(
902902

903903
def _capture_experimental_log(self, log):
904904
# type: (Optional[Log]) -> None
905-
from sentry_sdk.logger import get_before_send_log, has_logs_enabled
906-
907905
if not has_logs_enabled(self.options) or log is None:
908906
return
909907

sentry_sdk/integrations/logging.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,13 +5,14 @@
55

66
import sentry_sdk
77
from sentry_sdk.client import BaseClient
8-
from sentry_sdk.logger import _log_level_to_otel, has_logs_enabled
8+
from sentry_sdk.logger import _log_level_to_otel
99
from sentry_sdk.utils import (
1010
safe_repr,
1111
to_string,
1212
event_from_exception,
1313
current_stacktrace,
1414
capture_internal_exceptions,
15+
has_logs_enabled,
1516
)
1617
from sentry_sdk.integrations import Integration
1718

sentry_sdk/integrations/loguru.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,8 @@
77
EventHandler,
88
_BaseHandler,
99
)
10-
from sentry_sdk.logger import _log_level_to_otel, has_logs_enabled
10+
from sentry_sdk.logger import _log_level_to_otel
11+
from sentry_sdk.utils import has_logs_enabled
1112

1213
from typing import TYPE_CHECKING
1314

sentry_sdk/logger.py

Lines changed: 1 addition & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,10 @@
11
# NOTE: this is the logger sentry exposes to users, not some generic logger.
22
import functools
33
import time
4-
from typing import Any, Callable, Optional
4+
from typing import Any
55

66
from sentry_sdk import get_client
77
from sentry_sdk.utils import safe_repr
8-
from sentry_sdk.types import Log, Hint
98

109
OTEL_RANGES = [
1110
# ((severity level range), severity text)
@@ -82,24 +81,3 @@ def _log_level_to_otel(level, mapping):
8281
return otel_severity_number, _otel_severity_text(otel_severity_number)
8382

8483
return 0, "default"
85-
86-
87-
def has_logs_enabled(options):
88-
# type: (Optional[dict[str, Any]]) -> bool
89-
if options is None:
90-
return False
91-
92-
return bool(
93-
options.get("enable_logs", False)
94-
or options["_experiments"].get("enable_logs", False)
95-
)
96-
97-
98-
def get_before_send_log(options):
99-
# type: (Optional[dict[str, Any]]) -> Optional[Callable[[Log, Hint], Optional[Log]]]
100-
if options is None:
101-
return None
102-
103-
return options.get("before_send_log") or options["_experiments"].get(
104-
"before_send_log"
105-
)

sentry_sdk/utils.py

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@
5959

6060
from gevent.hub import Hub
6161

62-
from sentry_sdk._types import Event, ExcInfo
62+
from sentry_sdk._types import Event, ExcInfo, Log, Hint
6363

6464
P = ParamSpec("P")
6565
R = TypeVar("R")
@@ -1984,3 +1984,24 @@ def serialize_item(item):
19841984
return json.dumps(serialized, default=str)
19851985
except Exception:
19861986
return str(data)
1987+
1988+
1989+
def has_logs_enabled(options):
1990+
# type: (Optional[dict[str, Any]]) -> bool
1991+
if options is None:
1992+
return False
1993+
1994+
return bool(
1995+
options.get("enable_logs", False)
1996+
or options["_experiments"].get("enable_logs", False)
1997+
)
1998+
1999+
2000+
def get_before_send_log(options):
2001+
# type: (Optional[dict[str, Any]]) -> Optional[Callable[[Log, Hint], Optional[Log]]]
2002+
if options is None:
2003+
return None
2004+
2005+
return options.get("before_send_log") or options["_experiments"].get(
2006+
"before_send_log"
2007+
)

0 commit comments

Comments
 (0)