o
    i                     @   s|   d dl mZ d dlZd dlZd dlZd dlmZ edZ	ej
dejdejf dZdd	d
Zdejegef fddZdS )    )wrapsN)asboolzddtrace.testingF.)boundreturnc                  C   s|   dt _ttdpttd} | rtjntj}t | t	t j
D ]}t | q#t }|td t | d S )NFDD_TEST_DEBUGDD_TRACE_DEBUGzX[Datadog Test Optimization] %(levelname)-8s %(name)s:%(filename)s:%(lineno)d %(message)s)testing_logger	propagater   osgetenvloggingDEBUGINFOsetLevellisthandlersremoveHandlerStreamHandlersetFormatter	Formatter
addHandler)debug_enabled	log_levelhandler r   T/home/ubuntu/.local/lib/python3.10/site-packages/ddtrace/testing/internal/logging.pysetup_logging   s   
r   c                  C   s   dt dt fdd} | S )Nfr   c                    s4   t  dtjdtjdtjf fdd}tt|S )Nargskwargsr   c                     s4   z | i |W S  t y   td j Y d S w )NzError while calling %s)	Exceptionr	   	exception__name__)r   r    r   r   r   wrapper"   s   z<catch_and_log_exceptions.<locals>.decorator.<locals>.wrapper)r   tAnycastr   )r   r%   r   r$   r   	decorator!   s   "z+catch_and_log_exceptions.<locals>.decorator)r   )r)   r   r   r   catch_and_log_exceptions    s   r*   )r   N)	functoolsr   r   r   typingr&   ddtrace.testing.internal.utilsr   	getLoggerr	   TypeVarCallabler'   r   r   r*   r   r   r   r   <module>   s    

