
    tnii                     *   d dl 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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 erd dlmZ n# e$ r  ed          w xY w 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)IntegrationDidNotEnable)BreadcrumbHandlerEventHandler_BaseHandler)_log_level_to_otel)has_logs_enabled	safe_repr)TYPE_CHECKING)	LogRecord)AnyOptional)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     [/var/www/html/gpu-tools/venv/lib/python3.11/site-packages/sentry_sdk/integrations/loguru.pyr   r      s1        EEDGGEHHHr&   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ee	e	ef	 	 	 	 	 	 	 	 	 	 	 ddZedd            Zd
S )LoguruIntegrationloguruOptional[int]levelevent_levelsentry_logs_levelbreadcrumb_formatstr | loguru.FormatFunctionevent_formatreturnNc                 ~    |t           _        |t           _        |t           _        |t           _        |t           _        d S )N)r/   r2   r3   r5   r7   r4   )selfr2   r3   r5   r7   r4   s         r'   __init__zLoguruIntegration.__init__K   s7     #((3%.?+)5&.?+++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LoguruBreadcrumbHandlerr5   r3   LoguruEventHandlerr7   r4   loguru_sentry_logs_handlerr%   r&   r'   
setup_oncezLoguruIntegration.setup_onceY   s    ".J'.?.EFFF'-(:    (4J"):)FGGG'3(5    .:J*'9      ;:r&   )r2   r1   r3   r1   r5   r6   r7   r6   r4   r1   r8   N)r8   N)r   r   r   
identifierDEFAULT_LEVELr2   __annotations__DEFAULT_EVENT_LEVELr3   DEFAULT_FORMATr5   r7   r4   r;   staticmethodrB   r%   r&   r'   r/   r/   B   s         J*E?***#6K666&!L)6666 "/':;I6D-:@@ %@ 9	@
 4@ +@ 
@ @ @ @    \  r&   r/   c                   0     e Zd Zd
 fdZdddefd	Z xZS )_LoguruBaseHandlerargsr   kwargsr8   Nc                     |                     d          r7t                               |                     dd          t                    |d<    t                      j        |i | d S )Nr2    )getSENTRY_LEVEL_FROM_LOGURU_LEVELrD   superr;   )r:   rK   rL   	__class__s      r'   r;   z_LoguruBaseHandler.__init__q   sg    ::g 	<@@

7B'' F7O 	$)&)))))r&   recordr   c                     	 t           t          |j                  j                                                 S # t
          t          f$ r% |j        r|j                                        ndcY S w xY w)NrN   )rP   r   levelnonamelower
ValueErrorKeyError	levelname)r:   rS   s     r'   _logging_to_event_levelz*_LoguruBaseHandler._logging_to_event_levely   s|    	H1fn--2egg H% 	H 	H 	H/5/?G6#))+++RGGG	Hs   58 3A.-A.)rK   r   rL   r   r8   N)r   r   r   r;   strr[   __classcell__)rR   s   @r'   rJ   rJ   p   si        * * * * * *Hk Hc H H H H H H H Hr&   rJ   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@      s        ppDr&   r@   c                       e Zd ZdZdS )r?   zkModified version of :class:`sentry_sdk.integrations.logging.BreadcrumbHandler` to use loguru's level names.Nr_   r%   r&   r'   r?   r?      s        uuDr&   r?   messager   r8   c           
         t          j                    }|                                sd S t          |j                  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,          t.          f          r	|	|d| <   6t1          |	          |d| <   Lt          j                                        |||d         |t+          |d                                         dz            d d d           d S )Nr2   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.namerV   zlogger.nameextrazsentry.message.parameter.rb   timeg    eA)severity_textseverity_numberbody
attributestime_unix_nanotrace_idspan_id)
sentry_sdk
get_client	is_activer	   optionsrS   r/   r4   nor   SEVERITY_TO_OTEL_SEVERITYrO   path
startswithlenrV   id
isinstancedictitemsr\   intfloatboolr
   get_current_scope_capture_log	timestamp)
rb   clientrS   otel_severity_numberotel_severity_textattrsrd   rj   keyvalues
             r'   rA   rA      s    "$$F FN++ ^F 	+3'? 1 CCC/Aw50 0,,  /0ABE>.1Lzz& :#v(;(F(F|(T(T#&,Vn&9#l:K:Ka:O:Q:Q&RE"##&,Vn&9E"#zz&%$*6N !zz* 9&,Z&8"#zz( 1%h/4m#H-0kzz) B%i03m+1)+<+A'(zz& .%f~mJJwE% L++-- 	L 	LJC%#sE4!899 L;@7#7788;DU;K;K7#7788 ""///39%!&.":":"<"<s"BCC	
 	

 
 
 
 
r&   )rb   r   r8   N).enumrs   sentry_sdk.integrationsr   r   sentry_sdk.integrations.loggingr   r   r   sentry_sdk.loggerr   sentry_sdk.utilsr	   r
   typingr   loggingr   r   r   r0   r   loguru._defaultsr   rG   r   ImportErrorIntEnumr   r    r   rD   r#   rF   rP   r$   r"   r!   r   r   rx   r/   rJ   r@   r?   rA   r%   r&   r'   <module>r      s        = = = = = = = =         
 1 0 0 0 0 0 8 8 8 8 8 8 8 8             %!!!!!!$$$$$$$$2MMM@@@@@@ #"""""" 2 2 2
,0
1
112    DL    "(#)/  " "  B22 + + + + + + + +\H H H H H H H H$	 	 	 	 	+\ 	 	 		 	 	 	 	02C 	 	 	C C C C C Cs    A A*