§
    xÅj3  ã                   ó>  — d dl Z d dlmZ 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 d dlmZ erd dlmZ d dlmZmZmZ 	 d dlZd d	lmZ d d
lmZ erd dlmZ n# e$ r  ed¦  «        ‚w xY w e¦   «         Z G d„ de j        ¦  «        Zej        j         Z!ej"        j         Z#ddddddddœZ$ej%        dej"        dej&        dej'        dej        dej(        dej)        diZ* G d„ de¦  «        Z+ G d„ de
¦  «        Z, G d „ d!e,e	¦  «        Z- G d"„ d#e,e¦  «        Z.d(d'„Z/dS ))é    N)ÚTYPE_CHECKING)ÚDidNotEnableÚIntegration)ÚBreadcrumbHandlerÚEventHandlerÚ_BaseHandler)Ú_log_level_to_otel)Ú	safe_repr)Ú	LogRecord)ÚAnyÚOptionalÚUnion)Úlogger)ÚLOGURU_FORMAT)ÚMessagezLOGURU is not installedc                   ó*   — 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© ó    úOC:\Projects\Historical\venv\Lib\site-packages\sentry_sdk/integrations/loguru.pyr   r       s1   € € € € € Ø€EØ€EØ€DØ€GØ€GØ€EØ€H€H€Hr&   r   r   r    r"   r#   r$   )r   r   r    r!   r"   r#   r$   é   é   é   é   é	   r   é   c                   óœ   — e Zd ZU dZeZded<   eZded<   e	Z
e	ZeZded<   eZded<   eee	e	eef	 	 	 	 	 	 	 	 	 	 	 	 	 dd„Zedd„¦   «         ZdS )ÚLoguruIntegrationÚloguruúOptional[int]ÚlevelÚevent_levelÚsentry_logs_levelúOptional[Union[bool, object]]Úcapture_sentry_logsÚbreadcrumb_formatústr | loguru.FormatFunctionÚevent_formatÚreturnNc                 ó–   — |t           _        |t           _        |t           _        |t           _        |t           _        |t           _        d S )N)r/   r2   r3   r7   r9   r4   r6   )Úselfr2   r3   r7   r9   r4   r6   s          r'   Ú__init__zLoguruIntegration.__init__N   s@   € ð #(ÕÔØ(3ÕÔ%Ø.?ÕÔ+Ø)5ÕÔ&Ø.?ÕÔ+Ø0CÕÔ-Ð-Ð-r&   c                  ó¨  — t           j        �Ct          j        t	          t           j        ¬¦  «        t           j        t           j        ¬¦  «         t           j        �Ct          j        t          t           j        ¬¦  «        t           j        t           j        ¬¦  «         t           j	        �'t          j        t          t           j	        ¬¦  «         d S d S )N)r2   )r2   Úformat)r/   r2   r   ÚaddÚLoguruBreadcrumbHandlerr7   r3   ÚLoguruEventHandlerr9   r4   Úloguru_sentry_logs_handlerr%   r&   r'   Ú
setup_oncezLoguruIntegration.setup_once^   sÃ   € åÔ"Ð.ÝŒJÝ'Õ.?Ô.EÐFÑFÔFÝ'Ô-Ý(Ô:ðñ ô ð õ Ô(Ð4ÝŒJÝ"Õ):Ô)FÐGÑGÔGÝ'Ô3Ý(Ô5ðñ ô ð õ Ô.Ð:ÝŒJÝ*Ý'Ô9ðñ ô ð ð ð ð ;Ð:r&   )r2   r1   r3   r1   r7   r8   r9   r8   r4   r1   r6   r5   r:   N)r:   N)r   r   r   Ú
identifierÚDEFAULT_LEVELr2   Ú__annotations__ÚDEFAULT_EVENT_LEVELr3   ÚDEFAULT_FORMATr7   r9   r4   Ú	_SENTINELr6   r=   ÚstaticmethodrD   r%   r&   r'   r/   r/   D   s   € € € € € € Ø€Jà*€Eˆ?Ð*Ð*Ñ*Ø#6€K�Ð6Ð6Ñ6Ø&ÐØ!€LØ)6Ð�Ð6Ð6Ñ6Ø;DÐÐ8ÐDÐDÑDð "/Ø':Ø;IØ6DØ-:Ø?HðDàðDð %ðDð 9ð	Dð
 4ðDð +ðDð =ðDð 
ðDð Dð Dð Dð  ðð ð ñ „\ðð ð r&   r/   c                   ó0   ‡ — e Zd Zd
ˆ fd„Zdddefd	„Zˆ xZS )Ú_LoguruBaseHandlerÚargsr   Úkwargsr:   Nc                 óÒ   •— |                      d¦  «        r7t                                |                      dd¦  «        t          ¦  «        |d<    t          ¦   «         j        |i |¤Ž d S )Nr2   Ú )ÚgetÚSENTRY_LEVEL_FROM_LOGURU_LEVELrF   Úsuperr=   )r<   rN   rO   Ú	__class__s      €r'   r=   z_LoguruBaseHandler.__init__v   sg   ø€ Ø�:Š:�gÑÔð 	Ý<×@Ò@Ø—
’
˜7 BÑ'Ô'­ñô ˆF�7‰Oð 	�‰ŒÔ˜$Ð) &Ð)Ð)Ð)Ð)Ð)r&   Úrecordr   c                 óâ   — 	 t           t          |j        ¦  «        j                                      ¦   «         S # t
          t          f$ r% |j        r|j                             ¦   «         ndcY S w xY w)NrQ   )rS   r   ÚlevelnoÚnameÚlowerÚ
ValueErrorÚKeyErrorÚ	levelname)r<   rV   s     r'   Ú_logging_to_event_levelz*_LoguruBaseHandler._logging_to_event_level~   s|   € ð	HÝ1Ý˜fœnÑ-Ô-Ô2ôçŠe‰gŒgðøõ �HÐ%ð 	Hð 	Hð 	HØ/5Ô/?ÐG�6Ô#×)Ò)Ñ+Ô+Ð+ÀRÐGÐGÐGð	Høøøs   ‚58 ¸3A.Á-A.)rN   r   rO   r   r:   N)r   r   r   r=   Ústrr^   Ú__classcell__)rU   s   @r'   rM   rM   u   si   ø€ € € € € ð*ð *ð *ð *ð *ð *ðH¨kð H¸cð Hð Hð Hð Hð Hð Hð Hð Hr&   rM   c                   ó   — e Zd ZdZdS )rB   zfModified version of :class:`sentry_sdk.integrations.logging.EventHandler` to use loguru's level names.N©r   r   r   Ú__doc__r%   r&   r'   rB   rB   ‡   s   € € € € € ØpÐpà€Dr&   rB   c                   ó   — e Zd ZdZdS )rA   zkModified version of :class:`sentry_sdk.integrations.logging.BreadcrumbHandler` to use loguru's level names.Nrb   r%   r&   r'   rA   rA   �   s   € € € € € ØuÐuà€Dr&   rA   Úmessager   r:   c           
      ó4  — t          j        ¦   «         }|                     ¦   «         sd S |j                             dd¦  «        p |j        d                              dd¦  «        }d}t
          j        du rd}nt
          j        t          u r|rd}|sd S | j        }t
          j	        �|d         j
        t
          j	        k     rd S t          |d         j
        t          ¦  «        \  }}ddi}|j        d         }|                     d	¦  «        r[|�I|d	         j                             |¦  «        r)|d	         j        t          |¦  «        d
z   d …         |d<   n|d	         j        |d<   |                     d¦  «        �|d         |d<   |                     d¦  «        r|d         |d<   |                     d¦  «        r |d         j        |d<   |d         j        |d<   |                     d¦  «        r |d         j        |d<   |d         j        |d<   |                     d¦  «        r|d         |d<   |                     d¦  «        }	t%          |	t&          ¦  «        r`|	                     ¦   «         D ]K\  }
}t%          |t*          t,          t.          t0          f¦  «        r	||d|
› �<   Œ6t3          |¦  «        |d|
› �<   ŒLt          j        ¦   «                              |||d         |t-          |d                              ¦   «         dz  ¦  «        d d dœ¦  «         d S )NÚenable_logsFÚ_experimentsTr2   zsentry.originzauto.log.loguruÚproject_rootÚfiler-   zcode.file.pathÚlinezcode.line.numberÚfunctionzcode.function.nameÚthreadzthread.namez	thread.idÚprocesszprocess.pidzprocess.executable.namerY   zlogger.nameÚextrazsentry.message.parameter.re   Útimeg    eÍÍA)Úseverity_textÚseverity_numberÚbodyÚ
attributesÚtime_unix_nanoÚtrace_idÚspan_id)Ú
sentry_sdkÚ
get_clientÚ	is_activeÚoptionsrR   r/   r6   rJ   rV   r4   Únor	   ÚSEVERITY_TO_OTEL_SEVERITYÚpathÚ
startswithÚlenrY   ÚidÚ
isinstanceÚdictÚitemsr_   ÚintÚfloatÚboolr
   Úget_current_scopeÚ_capture_logÚ	timestamp)re   ÚclientÚcompat_logs_enabledÚshould_capture_logsrV   Úotel_severity_numberÚotel_severity_textÚattrsri   ro   ÚkeyÚvalues               r'   rC   rC   “   s`  € õ Ô"Ñ$Ô$€FØ×ÒÑÔð Øˆð !œ.×,Ò,¨]¸EÑBÔBð  ÀfÄnØôGç	‚cˆ-˜ÑÔð ð  ÐÝÔ,°Ð4Ð4Ø"ÐÐÝ	Ô	.µ)Ð	;Ð	;Ð@SÐ	;Ø"Ðàð ØˆàŒ^€Fõ 	Ô+Ð3Ø�'Œ?ÔÕ 1Ô CÒCÐCàˆå/AØˆwŒÔÕ5ñ0ô 0Ñ,ÐÐ,ð  /Ð0AÐB€Eà”> .Ô1€LØ‡z‚z�&ÑÔð :ØÐ#¨¨v¬Ô(;×(FÒ(FÀ|Ñ(TÔ(TÐ#Ø&,¨V¤nÔ&9½#¸lÑ:KÔ:KÈaÑ:OÐ:QÐ:QÔ&RˆEÐ"Ñ#Ð#à&,¨V¤nÔ&9ˆEÐ"Ñ#à‡z‚z�&ÑÔÐ%Ø$*¨6¤NˆÐ Ñ!à‡z‚z�*ÑÔð 9Ø&,¨ZÔ&8ˆÐ"Ñ#à‡z‚z�(ÑÔð 1Ø% hÔ/Ô4ˆˆmÑØ# HÔ-Ô0ˆˆkÑà‡z‚z�)ÑÔð BØ% iÔ0Ô3ˆˆmÑØ+1°)Ô+<Ô+AˆÐ'Ñ(à‡z‚z�&ÑÔð .Ø% fœ~ˆˆmÑà�JŠJ�wÑÔ€EÝ�%�ÑÔð LØŸ+š+™-œ-ð 	Lð 	L‰JˆC�Ý˜%¥#¥s­Eµ4Ð!8Ñ9Ô9ð LØ;@�Ð7°#Ð7Ð7Ñ8Ð8å;DÀUÑ;KÔ;K�Ð7°#Ð7Ð7Ñ8Ð8åÔ Ñ"Ô"×/Ò/à/Ø3Ø˜9Ô%ØÝ! &¨¤.×":Ò":Ñ"<Ô"<¸sÑ"BÑCÔCØØð	
ð 	
ñ
ô 
ð 
ð 
ð 
r&   )re   r   r:   N)0ÚenumÚtypingr   rx   Úsentry_sdk.integrationsr   r   Úsentry_sdk.integrations.loggingr   r   r   Úsentry_sdk.loggerr	   Úsentry_sdk.utilsr
   Úloggingr   r   r   r   r0   r   Úloguru._defaultsr   rI   r   ÚImportErrorÚobjectrJ   ÚIntEnumr   r    r’   rF   r#   rH   rS   r$   r"   r!   r   r   r}   r/   rM   rB   rA   rC   r%   r&   r'   ú<module>rž      sá  ðØ €€€Ø  Ð  Ð  Ð  Ð  Ð  à Ð Ð Ð Ø =Ð =Ð =Ð =Ð =Ð =Ð =Ð =ðð ð ð ð ð ð ð ð ð ð
 1Ð 0Ð 0Ð 0Ð 0Ð 0Ø &Ð &Ð &Ð &Ð &Ð &àð ,Ø!Ð!Ð!Ð!Ð!Ð!Ø+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+Ð+ð2Ø€M€M€MØÐÐÐÐÐØ@Ð@Ð@Ð@Ð@Ð@àð #Ø"Ð"Ð"Ð"Ð"Ð"øøØð 2ð 2ð 2Ø
ˆ,Ð0Ñ
1Ô
1Ð1ð2øøøð ˆF‰HŒH€	ðð ð ð ð �D”Lñ ô ð ð Ô"Ô(€Ø#Ô)Ô/Ð ð ØØØØØØð"ð "Ð ð Ô˜BØÔ˜ØÔ˜2ØÔ˜2ØÔ˜ØÔ˜ØÔ˜ðÐ ð.ð .ð .ð .ð .˜ñ .ô .ð .ðbHð Hð Hð Hð H˜ñ Hô Hð Hð$	ð 	ð 	ð 	ð 	Ð+¨\ñ 	ô 	ð 	ð	ð 	ð 	ð 	ð 	Ð0Ð2Cñ 	ô 	ð 	ðMð Mð Mð Mð Mð Ms   Á A ÁA*