o
    pi                      @   s  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	 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 d dlmZmZ eeZedG dd deZedG dd deZedG dd deZedG dd deZ edG dd deZ!edG dd de!Z"edG d d! d!e!Z#e Z$d"a%ee! e&d#< e# Z'ed$d%e!fd&d'Z(d(e!d)e)d%d"fd*d+Z*ed,d(e!d%d"fd-d.Z+ed/	"	"	"	"d6d0e,d1ee, d2ee, d3ee d(ee! d%dfd4d5Z-d"S )7    )ABCabstractmethod)	getLogger)environ)Optionalcast)
deprecated)	LogRecord)SeverityNumber)"_OTEL_PYTHON_EVENT_LOGGER_PROVIDER)
TraceFlags)Once)_load_provider)AnyValue_ExtendedAttributeszYou should use `LogRecord` with the `event_name` field set instead. Deprecated since version 1.39.0 and will be removed in a future release.c                       sj   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dZ	  Z
S )EventNname	timestamptrace_idspan_idtrace_flagsr   bodyseverity_number
attributesc	           
   	      s<   |pi }i |d|i}	t  j|||||||	d || _d S )Nz
event.name)r   r   r   r   r   r   r   )super__init__r   )
selfr   r   r   r   r   r   r   r   event_attributes	__class__ R/home/ubuntu/.local/lib/python3.10/site-packages/opentelemetry/_events/__init__.pyr   (   s    
	zEvent.__init__)NNNNNNN)__name__
__module____qualname__strr   intr   r
   r   r   __classcell__r    r    r   r!   r   #   s2    	r   ziYou should use `Logger` instead. Deprecated since version 1.39.0 and will be removed in a future release.c                
   @   sH   e Zd Z			ddedee dee dee fddZedddZdS )EventLoggerNr   version
schema_urlr   c                 C   s   || _ || _|| _|| _d S N)_name_version_schema_url_attributesr   r   r)   r*   r   r    r    r!   r   I   s   
zEventLogger.__init__eventr   returnc                 C      dS )z-Emits a :class:`Event` representing an event.Nr    r   r1   r    r    r!   emitU       zEventLogger.emitNNN)r1   r   r2   N)	r"   r#   r$   r%   r   r   r   r   r5   r    r    r    r!   r(   D   s    
r(   zmYou should use `NoOpLogger` instead. Deprecated since version 1.39.0 and will be removed in a future release.c                   @   s   e Zd ZdeddfddZdS )NoOpEventLoggerr1   r2   Nc                 C   s   d S r+   r    r4   r    r    r!   r5   _   s   zNoOpEventLogger.emit)r"   r#   r$   r   r5   r    r    r    r!   r8   Z   s    r8   znYou should use `ProxyLogger` instead. Deprecated since version 1.39.0 and will be removed in a future release.c                
       sf   e Zd Z			ddedee dee dee f fddZedefd	d
Z	de
ddfddZ  ZS )ProxyEventLoggerNr   r)   r*   r   c                    s(   t  j||||d d | _t|| _d S )N)r   r)   r*   r   )r   r   _real_event_loggerr8   _noop_event_loggerr0   r   r    r!   r   h   s   zProxyEventLogger.__init__r2   c                 C   s6   | j r| j S trt| j| j| j| j| _ | j S | jS r+   )r:   _EVENT_LOGGER_PROVIDERget_event_loggerr,   r-   r.   r/   r;   )r   r    r    r!   _event_loggerx   s   zProxyEventLogger._event_loggerr1   c                 C   s   | j | d S r+   )r>   r5   r4   r    r    r!   r5      s   zProxyEventLogger.emitr7   )r"   r#   r$   r%   r   r   r   propertyr(   r>   r   r5   r'   r    r    r   r!   r9   c   s     r9   zqYou should use `LoggerProvider` instead. Deprecated since version 1.39.0 and will be removed in a future release.c                   @   sB   e Zd Ze			d	dedee dee dee def
ddZdS )
EventLoggerProviderNr   r)   r*   r   r2   c                 C   r3   )z'Returns an EventLoggerProvider for use.Nr    r0   r    r    r!   r=      r6   z$EventLoggerProvider.get_event_loggerr7   )	r"   r#   r$   r   r%   r   r   r(   r=   r    r    r    r!   r@      s     r@   zuYou should use `NoOpLoggerProvider` instead. Deprecated since version 1.39.0 and will be removed in a future release.c                   @   >   e Zd Z			d	dedee dee dee def
ddZdS )
NoOpEventLoggerProviderNr   r)   r*   r   r2   c                 C   s   t ||||dS N)r)   r*   r   )r8   r0   r    r    r!   r=      s   z(NoOpEventLoggerProvider.get_event_loggerr7   r"   r#   r$   r%   r   r   r(   r=   r    r    r    r!   rB          rB   zvYou should use `ProxyLoggerProvider` instead. Deprecated since version 1.39.0 and will be removed in a future release.c                   @   rA   )
ProxyEventLoggerProviderNr   r)   r*   r   r2   c                 C   s&   t rt j||||dS t||||dS rC   )r<   r=   r9   r0   r    r    r!   r=      s   z)ProxyEventLoggerProvider.get_event_loggerr7   rD   r    r    r    r!   rF      rE   rF   Nr<   zvYou should use `get_logger_provider` instead. Deprecated since version 1.39.0 and will be removed in a future release.r2   c                  C   s4   t d u rttvr
tS ttd} t| dd tdt S )Nevent_logger_providerFlogr@   )r<   r   r   _PROXY_EVENT_LOGGER_PROVIDERr   _set_event_logger_providerr   rG   r    r    r!   get_event_logger_provider   s   
rM   rG   rI   c                    s6   d fdd}t |}|r|std d S d S d S )Nr2   c                      s    a d S r+   )r<   r    rL   r    r!   set_elp   s   z+_set_event_logger_provider.<locals>.set_elpz8Overriding of current EventLoggerProvider is not allowed)r2   N)_EVENT_LOGGER_PROVIDER_SET_ONCEdo_once_loggerwarning)rG   rI   rN   did_setr    rL   r!   rK      s   
rK   zvYou should use `set_logger_provider` instead. Deprecated since version 1.39.0 and will be removed in a future release.c                 C   s   t | dd d S )NTrH   )rK   rL   r    r    r!   set_event_logger_provider   s   rT   zmYou should use `get_logger` instead. Deprecated since version 1.39.0 and will be removed in a future release.r   r)   r*   r   c                 C   s   |d u rt  }|| |||S r+   )rM   r=   )r   r)   r*   r   rG   r    r    r!   r=      s   r=   )NNNN).abcr   r   loggingr   osr   typingr   r   typing_extensionsr   opentelemetry._logsr	   opentelemetry._logs.severityr
   #opentelemetry.environment_variablesr   opentelemetry.trace.spanr   opentelemetry.util._oncer   opentelemetry.util._providersr   opentelemetry.util.typesr   r   r"   rQ   r   r(   r8   r9   r@   rB   rF   rO   r<   __annotations__rJ   rM   boolrK   rT   r%   r=   r    r    r    r!   <module>   s   $
