
    g}                        U d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ d d
lmZ d dlmZ  ee      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z G d de      Z  G d de      Z! e       Z"da#e	e   e$d<    e!       Z%defdZ&dede'ddfd Z(deddfd!Z)	 	 	 	 d'd"e*d#e	e*   d$e	e*   d%e	e   de	e   ddfd&Z+y)(    )ABCabstractmethod)	getLogger)environ)AnyOptionalcast)	LogRecord)SeverityNumber)"_OTEL_PYTHON_EVENT_LOGGER_PROVIDER)
TraceFlags)Once)_load_provider)
Attributesc                   z     e Zd Z	 	 	 	 	 	 	 ddedee   dee   dee   ded   dee   dee   d	ee   f fd
Z	 xZ
S )Eventname	timestamptrace_idspan_idtrace_flagsr   bodyseverity_number
attributesc	           	      \    |xs i }i |d|i}	t         
|   |||||||	       || _        y )Nz
event.name)r   r   r   r   r   r   r   )super__init__r   )selfr   r   r   r   r   r   r   r   event_attributes	__class__s             S/var/www/openai/venv/lib/python3.12/site-packages/opentelemetry/_events/__init__.pyr   zEvent.__init__"   sQ      %2
=j=,=#+' 	 	
 	    )NNNNNNN)__name__
__module____qualname__strr   intr   r   r   r   __classcell__r    s   @r!   r   r   !   s     $("&!%.2"48+/ C= 3-	
 # l+ sm ".1 Z( r"   r   c            
       P    e Zd Z	 	 	 ddedee   dee   dee   fdZed	d       Zy)
EventLoggerNr   version
schema_urlr   c                 <    || _         || _        || _        || _        y N)_name_version_schema_url_attributesr   r   r,   r-   r   s        r!   r   zEventLogger.__init__<   s"     
%%r"   c                      y)z-Emits a :class:`Event` representing an event.N r   events     r!   emitzEventLogger.emitH       r"   NNN)r8   r   returnN)	r#   r$   r%   r&   r   r   r   r   r9   r6   r"   r!   r+   r+   ;   sY     "&$(+/
&
& #
& SM	
&
 Z(
& < <r"   r+   c                       e Zd ZdeddfdZy)NoOpEventLoggerr8   r<   Nc                      y r/   r6   r7   s     r!   r9   zNoOpEventLogger.emitN   s    r"   )r#   r$   r%   r   r9   r6   r"   r!   r>   r>   M   s    % D r"   r>   c            
       p     e Zd Z	 	 	 ddedee   dee   dee   f fdZedefd       Z	d	e
ddfd
Z xZS )ProxyEventLoggerNr   r,   r-   r   c                 Z    t         |   ||||       d | _        t        |      | _        y )N)r   r,   r-   r   )r   r   _real_event_loggerr>   _noop_event_logger)r   r   r,   r-   r   r    s        r!   r   zProxyEventLogger.__init__S   s:     	!!	 	 	
 :>"1$"7r"   r<   c                     | j                   r| j                   S t        rQt        j                  | j                  | j                  | j
                  | j                        | _         | j                   S | j                  S r/   )rC   _EVENT_LOGGER_PROVIDERget_event_loggerr0   r1   r2   r3   rD   )r   s    r!   _event_loggerzProxyEventLogger._event_loggerc   sg    ""***!&<&M&M

    	'D# ***&&&r"   r8   c                 :    | j                   j                  |       y r/   )rH   r9   r7   s     r!   r9   zProxyEventLogger.emitr   s    &r"   r;   )r#   r$   r%   r&   r   r   r   propertyr+   rH   r   r9   r(   r)   s   @r!   rA   rA   R   st     "&$(+/88 #8 SM	8
 Z(8  '{ ' ''% 'D 'r"   rA   c                   L    e Zd Ze	 	 	 ddedee   dee   dee   def
d       Zy)	EventLoggerProviderNr   r,   r-   r   r<   c                      y)z'Returns an EventLoggerProvider for use.Nr6   r4   s        r!   rG   z$EventLoggerProvider.get_event_loggerw   r:   r"   r;   )	r#   r$   r%   r   r&   r   r   r+   rG   r6   r"   r!   rL   rL   v   s\     "&$(+/66 #6 SM	6
 Z(6 
6 6r"   rL   c                   B    e Zd Z	 	 	 ddedee   dee   dee   def
dZy)	NoOpEventLoggerProviderNr   r,   r-   r   r<   c                      t        ||||      S N)r,   r-   r   )r>   r4   s        r!   rG   z(NoOpEventLoggerProvider.get_event_logger   s     'jZ
 	
r"   r;   r#   r$   r%   r&   r   r   r+   rG   r6   r"   r!   rO   rO      sO     "&$(+/	
	
 #	
 SM		

 Z(	
 
	
r"   rO   c                   B    e Zd Z	 	 	 ddedee   dee   dee   def
dZy)	ProxyEventLoggerProviderNr   r,   r-   r   r<   c                 ^    t         rt         j                  ||||      S t        ||||      S rQ   )rF   rG   rA   r4   s        r!   rG   z)ProxyEventLoggerProvider.get_event_logger   sF     ")::%%	 ;    !!	
 	
r"   r;   rR   r6   r"   r!   rT   rT      sO     "&$(+/

 #
 SM	

 Z(
 

r"   rT   NrF   r<   c                      t         /t        t        vrt        S t	        t        d      } t        | d       t        dt               S )Nevent_logger_providerFlogrL   )rF   r   r   _PROXY_EVENT_LOGGER_PROVIDERr   _set_event_logger_providerr	   rW   s    r!   get_event_logger_providerr]      sC    %-W<//5C.0G6
 	##8eD%'=>>r"   rW   rY   c                 r     d fd}t         j                  |      }|r|st        j                  d       y y y )Nc                  
     a y r/   )rF   r\   s   r!   set_elpz+_set_event_logger_provider.<locals>.set_elp   s	    !6r"   z8Overriding of current EventLoggerProvider is not allowed)r<   N)_EVENT_LOGGER_PROVIDER_SET_ONCEdo_once_loggerwarning)rW   rY   r`   did_sets   `   r!   r[   r[      s5    7 .55g>G
7F	
 sr"   c                     t        | d       y )NTrX   )r[   r\   s    r!   set_event_logger_providerrg      s     4$?r"   r   r,   r-   r   c                 B    |
t               }|j                  | |||      S r/   )r]   rG   )r   r,   r-   r   rW   s        r!   rG   rG      s2     $ 9 ; 11	 r"   )NNNN),abcr   r   loggingr   osr   typingr   r   r	   opentelemetry._logsr
   opentelemetry._logs.severityr   #opentelemetry.environment_variablesr   opentelemetry.trace.spanr   opentelemetry.util._oncer   opentelemetry.util._providersr   opentelemetry.util.typesr   r#   rc   r   r+   r>   rA   rL   rO   rT   ra   rF   __annotations__rZ   r]   boolr[   rg   r&   rG   r6   r"   r!   <module>rv      sW   $ #   & & ) 7 0 ) 8 /
H
I 4<# <$k 
!'{ !'H	6# 	6

1 


2 
. #'& 8< !45 <79 ?#6 ?
.
59
	
@.@	@ " $'+;?
c]  $	
 $$78 r"   