
    Dj                        d dl Z d dlmZmZ d dlmZmZmZ d dlm	Z	 e	rd dl
mZ d dlmZmZ 	 d dlZd dlmZ d dlmZ  G d
 de j(                        Zej,                  j.                  Zej2                  j.                  Zda G d de      Z G d de      Z G d dee      Z G d dee      Zy# e$ r	  ed	      w xY w)    N)IntegrationDidNotEnable)BreadcrumbHandlerEventHandler_BaseHandler)TYPE_CHECKING)	LogRecord)OptionalTuple)logger)LOGURU_FORMATzLOGURU is not installedc                   (    e Zd ZdZdZdZdZdZdZdZ	y)	LoggingLevels   
            (   2   N)
__name__
__module____qualname__TRACEDEBUGINFOSUCCESSWARNINGERRORCRITICAL     bC:\Crop_Prediction\Backend\crop-ai-system\venv\Lib\site-packages\sentry_sdk/integrations/loguru.pyr   r      s%    EEDGGEHr"   r   )NNc                   0    e Zd ZdZeeeefdZed        Z	y)LoguruIntegrationloguruc                    t         \  }}|t        j                  |       d }|t        j                  |       d }|"t        j                  t	        |      ||      }|"t        j                  t        |      ||      }||fa y )N)level)r(   format)_ADDED_HANDLERSr   removeaddLoguruBreadcrumbHandlerLoguruEventHandler)selfr(   event_levelbreadcrumb_formatevent_formatbreadcrumb_handlerevent_handlers          r#   __init__zLoguruIntegration.__init__.   s     -<)M)MM,-!%$MM-( M!''e4(" ""JJ"5!#M .}=r"   c                       y )Nr!   r!   r"   r#   
setup_oncezLoguruIntegration.setup_onceP   s     	r"   N)
r   r   r   
identifierDEFAULT_LEVELDEFAULT_EVENT_LEVELDEFAULT_FORMATr5   staticmethodr7   r!   r"   r#   r%   r%   +   s/    J '(# >D  r"   r%   c                       e Zd Zd Zy)_LoguruBaseHandlerc                     	 t        |j                        j                  j                         S # t        $ r- |j
                  r|j
                  j                         cY S dcY S w xY w)N )r   levelnonamelower
ValueError	levelname)r/   records     r#   _logging_to_event_levelz*_LoguruBaseHandler._logging_to_event_levelW   sY    	H 055;;== 	H/5/?/?6##))+GRG	Hs   ,/ /A% A%$A%N)r   r   r   rG   r!   r"   r#   r>   r>   V   s    Hr"   r>   c                       e Zd ZdZy)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.   _   s    pr"   r.   c                       e Zd ZdZy)r-   zkModified version of :class:`sentry_sdk.integrations.logging.BreadcrumbHandler` to use loguru's level names.NrI   r!   r"   r#   r-   r-   c   s    ur"   r-   ) enumsentry_sdk.integrationsr   r   sentry_sdk.integrations.loggingr   r   r   typingr   loggingr	   r
   r   r&   r   loguru._defaultsr   r;   ImportErrorIntEnumr   r   valuer9   r   r:   r*   r%   r>   r.   r-   r!   r"   r#   <module>rU      s     =  !!&2@
DLL  ""((#))// 
 ( (VH Hq+\ qv02C v_  2
0
112s   B0 0B>