o
    ٰi#                     @   sl   d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	 er*d dl m
Z
 d dlmZ G dd ded	 Zd
S )    )TYPE_CHECKING)Batcherserialize_attribute)EnvelopeItem
PayloadRef)Any)Logc                   @   s8   e Zd ZdZdZdZdZdZedd
dZ	dddZ
dS )
LogBatcherd   i  g      @logz%application/vnd.sentry.items.log+jsonitemr
   returnr	   c                 C   s   d| d vr| d | d d< d| d vr| d | d d< t | d d | dd	| d
t| d t| d dd | d  D d}|S )Nzsentry.severity_number
attributesseverity_numberzsentry.severity_textseverity_texttime_unix_nanog    eAtrace_idz$00000000-0000-0000-0000-000000000000span_idbodyc                 S   s   i | ]	\}}|t |qS  r   ).0kvr   r   K/home/ubuntu/.local/lib/python3.10/site-packages/sentry_sdk/_log_batcher.py
<dictcomp>!   s    z3LogBatcher._to_transport_format.<locals>.<dictcomp>)	timestampr   r   levelr   r   )intgetstritems)r   resr   r   r   _to_transport_format   s   



zLogBatcher._to_transport_formatNc              	   C   s@   t | j| jdditd| |gidd}| jdd|dd d S )	N
item_count   r"   )json)typecontent_typeheaderspayloadqueue_overflowlog_item)reasondata_categoryr   quantity)r   TYPECONTENT_TYPEr   r$   _record_lost_func)selfr   r-   r   r   r   _record_lost(   s   	
zLogBatcher._record_lost)r   r
   r   r	   )r   r
   r   N)__name__
__module____qualname__MAX_BEFORE_FLUSHMAX_BEFORE_DROPFLUSH_WAIT_TIMEr1   r2   staticmethodr$   r5   r   r   r   r   r      s    r   r
   N)typingr   sentry_sdk._batcherr   sentry_sdk.utilsr   sentry_sdk.enveloper   r   r   r	   sentry_sdk._typesr
   r   r   r   r   r   <module>   s    