debug.py 959 B

12345678910111213141516171819202122232425262728293031323334353637
  1. import sys
  2. import logging
  3. import warnings
  4. from sentry_sdk import get_client
  5. from sentry_sdk.client import _client_init_debug
  6. from sentry_sdk.utils import logger
  7. from logging import LogRecord
  8. class _DebugFilter(logging.Filter):
  9. def filter(self, record: "LogRecord") -> bool:
  10. if _client_init_debug.get(False):
  11. return True
  12. return get_client().options["debug"]
  13. def init_debug_support() -> None:
  14. if not logger.handlers:
  15. configure_logger()
  16. def configure_logger() -> None:
  17. _handler = logging.StreamHandler(sys.stderr)
  18. _handler.setFormatter(logging.Formatter(" [sentry] %(levelname)s: %(message)s"))
  19. logger.addHandler(_handler)
  20. logger.setLevel(logging.DEBUG)
  21. logger.addFilter(_DebugFilter())
  22. def configure_debug_hub() -> None:
  23. warnings.warn(
  24. "configure_debug_hub is deprecated. Please remove calls to it, as it is a no-op.",
  25. DeprecationWarning,
  26. stacklevel=2,
  27. )