o
    h                     @   s  d dl mZ d dlZd dlmZ d dlmZmZ d dlm	Z	m
Z
mZ er2d dlmZ d dlmZmZ zd dlZd dlmZ d d	lmZ W n eyO   ed
w G dd dejZejjZejjZdaG dd deZG dd deZ G dd de e
Z!G dd de e	Z"dS )    )absolute_importN)TYPE_CHECKING)IntegrationDidNotEnable)BreadcrumbHandlerEventHandler_BaseHandler)	LogRecord)OptionalTuple)logger)LOGURU_FORMATzLOGURU is not installedc                   @   s(   e Zd ZdZdZdZdZdZdZdZ	dS )	LoggingLevels   
            (   2   N)
__name__
__module____qualname__TRACEDEBUGINFOSUCCESSWARNINGERRORCRITICAL r    r    a/var/www/html/aiguide_backend/venv/lib/python3.10/site-packages/sentry_sdk/integrations/loguru.pyr      s    r   )NNc                   @   s.   e Zd ZdZeeeefddZedd Z	dS )LoguruIntegrationloguruc                 C   s|   t \}}|d urt| d }|d urt| d }|d ur)tjt|d||d}|d ur8tjt|d||d}||fa d S )N)level)r$   format)_ADDED_HANDLERSr   removeaddLoguruBreadcrumbHandlerLoguruEventHandler)selfr$   event_levelbreadcrumb_formatevent_formatbreadcrumb_handlerevent_handlerr    r    r!   __init__/   s(   	

zLoguruIntegration.__init__c                   C   s   d S )Nr    r    r    r    r!   
setup_onceQ   s   zLoguruIntegration.setup_onceN)
r   r   r   
identifierDEFAULT_LEVELDEFAULT_EVENT_LEVELDEFAULT_FORMATr1   staticmethodr2   r    r    r    r!   r"   ,   s    
"r"   c                   @   s   e Zd Zdd ZdS )_LoguruBaseHandlerc                 C   s>   z	t |jj W S  ty   |jr|j  Y S d Y S w )N )r   levelnonamelower
ValueError	levelname)r+   recordr    r    r!   _logging_to_event_levelX   s
   z*_LoguruBaseHandler._logging_to_event_levelN)r   r   r   r@   r    r    r    r!   r8   W   s    r8   c                   @      e Zd ZdZdS )r*   zfModified version of :class:`sentry_sdk.integrations.logging.EventHandler` to use loguru's level names.Nr   r   r   __doc__r    r    r    r!   r*   `       r*   c                   @   rA   )r)   zkModified version of :class:`sentry_sdk.integrations.logging.BreadcrumbHandler` to use loguru's level names.NrB   r    r    r    r!   r)   d   rD   r)   )#
__future__r   enumsentry_sdk._typesr   sentry_sdk.integrationsr   r   sentry_sdk.integrations.loggingr   r   r   loggingr	   typingr
   r   r#   r   loguru._defaultsr   r6   ImportErrorIntEnumr   r   valuer4   r   r5   r&   r"   r8   r*   r)   r    r    r    r!   <module>   s.    
+	