
    j                         d dl Z d dlZ e j                  e      Zde j                  ddfdZde j                  de j                  ddfdZ	y)    Nloggerreturnc                    t         j                  j                  j                  t        j                        }t         j                  j                  j                  t        j                        }t        | |       t        | |       y)z
    Add the two Sentry logging handlers to send error messages with their traceback to Sentry
    for error tracking. This is safe to call even if Sentry is not setup.
    N)
sentry_sdkintegrationsloggingEventHandlerWARNINGBreadcrumbHandlerINFO_add_singleton_logging_handler)r   error_handlerbreadcrumbs_handlers      y/Users/manta/Documents/Projects/TheRoad-I1/backend/.venv/lib/python3.12/site-packages/opik/error_tracking/logger_setup.pysetup_sentry_error_handlersr      sa     ++33@@QM %1199KK #6=9"6+>?    handlerc                     t        |      t        fd| j                  D              }|rt        j	                  d|        y | j                  |       y )Nc              3   6   K   | ]  }t        |        y w)N)
isinstance).0r   handler_types     r   	<genexpr>z1_add_singleton_logging_handler.<locals>.<genexpr>   s      9Hg
7L)s   zEA %s logging handler is already in the logger %s handler, skipping...)typeanyhandlersLOGGERdebug
addHandler)r   r   already_existsr   s      @r   r   r      sV     =L 9? N S	

 	
gr   )
r   sentry_sdk.integrations.loggingr   	getLogger__name__r   Loggerr   Handlerr    r   r   <module>r'      s\     &			8	$@ @4 @"NN%,__	r   