Ë
    fåÚh¶  ã                   ó~   — d Z ddlZddlZddlZddlmZ ddlZddlmZ 	 	 	 	 dde	de
de	de
d	df
d
„Zddee	   d	efd„Zy)z1
Logging configuration with Logfire integration.
é    N)ÚOptional)ÚloggerÚservice_nameÚenable_logfireÚ	log_levelÚsuppress_externalÚreturnc                 ó`  — |�rzt        j                  d«      j                  t         j                  «       t        j                  d«      j                  t         j                  «       t        j                  d«      j                  t         j                  «       t        j                  d«      j                  t         j                  «       t        j                  d«      j                  t         j                  «       t        j                  d«      j                  t         j                  «       t        j                  d«      j                  t         j                  «       dd	l}|j                  d
t        d¬«       t        j                  «        t        j                  t        j                  d|¬«       |rœt        j                  d«      r‡	 t        j                  | t        j                  d«      d¬«       t        j                   «        t        j"                  «        t        j$                  «        |dk(  rt        j&                  d| › �«       y	y	t        j                  d«      st        j,                  d«       y	y	# t(        $ r"}t        j*                  d|› �«       Y d	}~y	d	}~ww xY w)aO  
    Set up logging with loguru and optional logfire integration.

    Args:
        service_name: Name for the service in logfire
        enable_logfire: Whether to enable logfire telemetry
        log_level: Logging level (DEBUG, INFO, WARNING, ERROR)
        suppress_external: Whether to suppress verbose external library logs
    Údoclingzdocling.document_converterÚdocling_coreÚhttpxÚhttpcoreÚ	anthropicÚopenair   NÚignore)ÚcategoryÚmodulez£<green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level: <8}</level> | <cyan>{name}</cyan>:<cyan>{function}</cyan>:<cyan>{line}</cyan> - <level>{message}</level>)ÚformatÚlevelÚPYDANTIC_LOGFIRE_TOKENF)r   ÚtokenÚconsoleÚDEBUGz'Logfire telemetry enabled for service: zFailed to configure logfire: z+Logfire token not found, telemetry disabled)ÚloggingÚ	getLoggerÚsetLevelÚWARNINGÚwarningsÚfilterwarningsÚDeprecationWarningr   ÚremoveÚaddÚsysÚstderrÚosÚgetenvÚlogfireÚ	configureÚinstrument_anthropicÚinstrument_openaiÚinstrument_pydantic_aiÚinfoÚ	ExceptionÚwarningÚdebug)r   r   r   r   r   Úes         ú1/home/mande/repo/quber/src/quber/utils/logging.pyÚsetup_loggingr2      sâ  € ò  ä×Ñ˜)Ó$×-Ñ-¬g¯o©oÔ>Ü×ÑÐ6Ó7×@Ñ@ÄÇÁÔQÜ×Ñ˜.Ó)×2Ñ2´7·?±?ÔCÜ×Ñ˜'Ó"×+Ñ+¬G¯O©OÔ<Ü×Ñ˜*Ó%×.Ñ.¬w¯©Ô?Ü×Ñ˜+Ó&×/Ñ/´·±Ô@Ü×Ñ˜(Ó#×,Ñ,¬W¯_©_Ô=ó 	à×Ñ Ô3EÈiÐÔXô ‡M�M„OÜ
‡J�JÜ�
‰
ð uØõñ œ"Ÿ)™)Ð$<Ô=ð	@Ü×ÑØ)Ü—i‘iÐ 8Ó9Øõô ×(Ñ(Ô*Ü×%Ñ%Ô'Ü×*Ñ*Ô,ð ˜GÒ#Ü—‘ÐEÀlÀ^ÐTÕUð $ô �y‰yÐ1Ô2Ü�L‰LÐFÕGð 3øô ò 	@Ü�N‰NÐ:¸1¸#Ð>×?Ñ?ûð	@ús   ÇBJ Ê	J-ÊJ(Ê(J-Únamec                 ó>   — | rt        j                  | ¬«      S t         S )z„
    Get a logger instance.

    Args:
        name: Optional name for the logger context

    Returns:
        Logger instance
    )Úcontext)r   Úbind)r3   s    r1   Ú
get_loggerr7   N   s   € ñ Ü�{‰{ 4Ô(Ð(Ü€Mó    )ÚquberTÚINFOT)N)Ú__doc__r   r%   r#   Útypingr   r'   Úlogurur   ÚstrÚboolr2   r7   © r8   r1   Ú<module>rA      s}   ðñó Û 	Û 
Ý ã Ý ð  ØØØ"ñ	=HØð=Hàð=Hð ð=Hð ð	=Hð
 
ó=Hñ@�X˜c‘]ð ¨fô r8   