ó
    À‘´j†  ã                   óŽ   • S r SSKrSSKrSSKJrJr  SSKrSSKJr  SSK	J
r
      SS\S\S\S	\S
S4
S jjrSS\\   S
\4S jjrg)ag  
Logging configuration with Logfire integration.

LangSmith tracing lives in `quber.agents.langsmith_tracer` and posts runs
to LangSmith's native `/runs/multipart` endpoint with explicit
`inputs`/`outputs` fields. That keeps the LangSmith UI showing actual prompts
and responses rather than empty input/output panels (the OTLP path's
schema-translation gap).
é    N)ÚAnyÚOptional)Úlogger)Úget_settingsÚservice_nameÚenable_logfireÚ	log_levelÚsuppress_externalÚreturnc                 óÊ  • U(       Ga±  [         R                  " S5      R                  [         R                  5        [         R                  " S5      R                  [         R                  5        [         R                  " S5      R                  [         R                  5        [         R                  " S5      R                  [         R                  5        [         R                  " S5      R                  [         R                  5        [         R                  " S5      R                  [         R                  5        [         R                  " S5      R                  [         R                  5        [         R                  " S5      R                  [         R                  5        S	S
KnUR                  S[        SS9  [        R                  " 5         [        R                  " [        R                  SUS9  [        5       R                  R                  nU(       a~  U(       aw   [        R                   " U USS9  [        R"                  " 5         [        R$                  " 5         [        R&                  " 5         US:X  a  [        R(                  " SU  35        g
g
U(       d  [        R.                  " S5        g
g
! [*         a#  n[        R,                  " SU 35         S
nAg
S
nAff = f)a3  
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ÚopenaiÚ	langsmithr   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ÚlevelF)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Ústderrr   ÚobsÚlogfire_tokenÚlogfireÚ	configureÚinstrument_anthropicÚinstrument_openaiÚinstrument_pydantic_aiÚinfoÚ	ExceptionÚwarningÚdebug)r   r   r	   r
   r    r(   Úes          Ú1/home/mande/repo/quber/src/quber/utils/logging.pyÚsetup_loggingr4      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Øòô !“N×&Ñ&×4Ñ4€MÞž-ð	@Ü×ÒØ)Ø#Øòô
 ×(Ò(Ô*Ü×%Ò%Ô'Ü×*Ò*Ô,à˜GÓ#Ü—’ÐEÀlÀ^ÐTÕUð $ö
 Ü�LŠLÐFÕGð øô ó 	@Ü�NŠNÐ:¸1¸#Ð>×?Ñ?ûð	@ús   È A4J5 Ê5
K"Ê?KËK"Únamec                 óD   • U (       a  [         R                  " U S9$ [         $ )zl
Get a logger instance.

Args:
    name: Optional name for the logger context

Returns:
    Logger instance
)Úcontext)r   Úbind)r5   s    r3   Ú
get_loggerr9   N   s   € ö Ü�{Š{ 4Ñ(Ð(Ü€Mó    )ÚquberTÚINFOT)N)Ú__doc__r   r%   Útypingr   r   r)   Úlogurur   Úquber.settingsr   ÚstrÚboolr4   r9   © r:   r3   Ú<module>rD      s}   ðñó Û 
ß  ã Ý å 'ð  ØØØ"ñ	6HØð6Hàð6Hð ð6Hð ð	6Hð
 
õ6Hñr�X˜c‘]ð ¨cö r:   