X7ROOT File Manager
Current Path:
/opt/cloudlinux/venv/lib/python3.11/site-packages/sentry_sdk/integrations
opt
/
cloudlinux
/
venv
/
lib
/
python3.11
/
site-packages
/
sentry_sdk
/
integrations
/
??
..
??
__init__.py
(6.67 KB)
??
__pycache__
??
_wsgi_common.py
(4.43 KB)
??
aiohttp.py
(11.28 KB)
??
argv.py
(963 B)
??
arq.py
(6.58 KB)
??
asgi.py
(11.54 KB)
??
asyncio.py
(2.98 KB)
??
atexit.py
(1.8 KB)
??
aws_lambda.py
(15.44 KB)
??
beam.py
(5.56 KB)
??
boto3.py
(4.44 KB)
??
bottle.py
(6.32 KB)
??
celery.py
(18.65 KB)
??
chalice.py
(4.66 KB)
??
cloud_resource_context.py
(6.6 KB)
??
dedupe.py
(1.16 KB)
??
django
??
excepthook.py
(2.21 KB)
??
executing.py
(1.99 KB)
??
falcon.py
(7.8 KB)
??
fastapi.py
(4.39 KB)
??
flask.py
(7.72 KB)
??
gcp.py
(8.02 KB)
??
gnu_backtrace.py
(2.86 KB)
??
grpc
??
httpx.py
(4.89 KB)
??
huey.py
(4.59 KB)
??
logging.py
(8.97 KB)
??
loguru.py
(2.98 KB)
??
modules.py
(2.06 KB)
??
opentelemetry
??
pure_eval.py
(4.45 KB)
??
pymongo.py
(5.87 KB)
??
pyramid.py
(7.27 KB)
??
quart.py
(7.2 KB)
??
redis
??
rq.py
(5.28 KB)
??
sanic.py
(11.06 KB)
??
serverless.py
(1.93 KB)
??
socket.py
(2.88 KB)
??
spark
??
sqlalchemy.py
(4.14 KB)
??
starlette.py
(22.67 KB)
??
starlite.py
(9.85 KB)
??
stdlib.py
(8.06 KB)
??
threading.py
(2.87 KB)
??
tornado.py
(7.17 KB)
??
trytond.py
(1.7 KB)
??
wsgi.py
(9.36 KB)
Editing: loguru.py
from __future__ import absolute_import import enum from sentry_sdk._types import TYPE_CHECKING from sentry_sdk.integrations import Integration, DidNotEnable from sentry_sdk.integrations.logging import ( BreadcrumbHandler, EventHandler, _BaseHandler, ) if TYPE_CHECKING: from logging import LogRecord from typing import Optional, Tuple try: import loguru from loguru import logger from loguru._defaults import LOGURU_FORMAT as DEFAULT_FORMAT except ImportError: raise DidNotEnable("LOGURU is not installed") class LoggingLevels(enum.IntEnum): TRACE = 5 DEBUG = 10 INFO = 20 SUCCESS = 25 WARNING = 30 ERROR = 40 CRITICAL = 50 DEFAULT_LEVEL = LoggingLevels.INFO.value DEFAULT_EVENT_LEVEL = LoggingLevels.ERROR.value # We need to save the handlers to be able to remove them later # in tests (they call `LoguruIntegration.__init__` multiple times, # and we can't use `setup_once` because it's called before # than we get configuration). _ADDED_HANDLERS = (None, None) # type: Tuple[Optional[int], Optional[int]] class LoguruIntegration(Integration): identifier = "loguru" def __init__( self, level=DEFAULT_LEVEL, event_level=DEFAULT_EVENT_LEVEL, breadcrumb_format=DEFAULT_FORMAT, event_format=DEFAULT_FORMAT, ): # type: (Optional[int], Optional[int], str | loguru.FormatFunction, str | loguru.FormatFunction) -> None global _ADDED_HANDLERS breadcrumb_handler, event_handler = _ADDED_HANDLERS if breadcrumb_handler is not None: logger.remove(breadcrumb_handler) breadcrumb_handler = None if event_handler is not None: logger.remove(event_handler) event_handler = None if level is not None: breadcrumb_handler = logger.add( LoguruBreadcrumbHandler(level=level), level=level, format=breadcrumb_format, ) if event_level is not None: event_handler = logger.add( LoguruEventHandler(level=event_level), level=event_level, format=event_format, ) _ADDED_HANDLERS = (breadcrumb_handler, event_handler) @staticmethod def setup_once(): # type: () -> None pass # we do everything in __init__ class _LoguruBaseHandler(_BaseHandler): def _logging_to_event_level(self, record): # type: (LogRecord) -> str try: return LoggingLevels(record.levelno).name.lower() except ValueError: return record.levelname.lower() if record.levelname else "" class LoguruEventHandler(_LoguruBaseHandler, EventHandler): """Modified version of :class:`sentry_sdk.integrations.logging.EventHandler` to use loguru's level names.""" class LoguruBreadcrumbHandler(_LoguruBaseHandler, BreadcrumbHandler): """Modified version of :class:`sentry_sdk.integrations.logging.BreadcrumbHandler` to use loguru's level names."""
Upload File
Create Folder