o
    Zh                     @   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    U/var/www/html/lang_env/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$   Zevent_levelZbreadcrumb_formatZevent_formatZbreadcrumb_handlerZ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_FORMATr,   staticmethodr-   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!   r3   W   s    r3   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                   @   r<   )r)   zkModified version of :class:`sentry_sdk.integrations.logging.BreadcrumbHandler` to use loguru's level names.Nr=   r    r    r    r!   r)   d   r?   r)   )#
__future__r   enumZsentry_sdk._typesr   Zsentry_sdk.integrationsr   r   Zsentry_sdk.integrations.loggingr   r   r   loggingr	   typingr
   r   r#   r   Zloguru._defaultsr   r1   ImportErrorIntEnumr   r   valuer/   r   r0   r&   r"   r3   r*   r)   r    r    r    r!   <module>   s.    
+	