
    IhC                       d Z ddlmZ ddlZddlZddlZddlZddlmZ ddl	m
Z
 ddlmZmZ ddlmZ dd	lmZ e
rdd
lmZ dZ eej*                        Zej/                  ej0                         ej3                  dej4                         ej3                  ej4                  d       ej6                  j9                  d      ZddZd Zd Z ddZ! G d d      Z" G d de"      Z#ddZ$y)zLogging Utilities.    )annotationsN)WatchedFileHandler)TYPE_CHECKING   )	safe_reprsafe_str)maybe_evaluate)cached_property)Logger)LogMixin
LOG_LEVELSget_loglevelsetup_loggingFATALDISABLE_TRACEBACKSc                    t        | t              rt        j                  |       } | j                  s#| j                  t        j                                | S )zGet logger by name.)
isinstancestrlogging	getLoggerhandlers
addHandlerNullHandler)loggers    B/var/www/html/planif/env/lib/python3.12/site-packages/kombu/log.py
get_loggerr      s?    &#""6*??'--/0M    c                8    t        | t              r	t        |    S | S )zGet loglevel by name.)r   r   r   )levels    r   r   r   %   s    %%  Lr   c              #     K   | j                  d      }t        |dd        D ]  \  }}|r||dz
     sd n|d     y w)N%r   r   )split	enumerate)fmtpartsies       r   naive_format_partsr(   ,   sI     IIcNE%)$ :15Q<dQqT9:s   <>c              #     K   |st         t        dn|}t        t        |             D ]*  \  }}|j	                  |      }|r |||         n||    , y w)N)sr)r   r   r#   r(   get)r$   argsfiltersindextypefilts         r   safeify_formatr2   2   sW     5<H9-'G !3C!89 9t{{4 #'d4;T%[89s   AAc                  l    e Zd ZdZd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zed        Zed        Zy)r   z.Mixin that adds severity methods to any class.c                J     | j                   t        j                  g|i |S N)logr   DEBUGselfr-   kwargss      r   debugzLogMixin.debug<   s!    txx7777r   c                J     | j                   t        j                  g|i |S r5   )r6   r   INFOr8   s      r   infozLogMixin.info?   !    txx6t6v66r   c                J     | j                   t        j                  g|i |S r5   )r6   r   WARNr8   s      r   warnzLogMixin.warnB   r?   r   c                n    |j                  dd        | j                  t        j                  g|i |S Nexc_infoT)
setdefaultr6   r   ERRORr8   s      r   errorzLogMixin.errorE   s1    *d+txx7777r   c                n    |j                  dd        | j                  t        j                  g|i |S rD   )rF   r6   r   CRITICALr8   s      r   criticalzLogMixin.criticalI   s3    *d+txx((:4:6::r   c                $    | j                    d| S )Nz - )logger_name)r9   texts     r   annotatezLogMixin.annotateM   s    ""#3tf--r   c                6   t         r|j                  dd        | j                  j                  |      r| j                  j                  }t        |      dkD  rst        |d   t              r`|dd  D cg c]  }t        |       }} ||| j                  |d   j                  dd            gt        t        |d   |            i |S  | j                  j                  || j                  dj                  t        t        |                  fi |S y c c}w )NrE   r   r   z%rz%s )r   popr   isEnabledForr6   lenr   r   r	   rO   replacelistr2   joinmapr   )r9   severityr-   r:   r6   argexpands          r   r6   zLogMixin.logP   s    JJz4(;;##H-++//C4y1}DGS!99=abB#.-BB8==at)DEM Q!@AMEKM M 't{{dmmCHHS45H,IJ  . Cs   2Dc                ,    t        | j                        S r5   )r   rM   r9   s    r   r   zLogMixin.get_logger_   s    $**++r   c                V    | j                   j                  | j                  |            S r5   )r   rS   r   r9   r   s     r   is_enabled_forzLogMixin.is_enabled_forb   s"    {{''(9(9%(@AAr   c                L    t        |t        j                        s	t        |   S |S r5   )r   numbersIntegralr   r_   s     r   r   zLogMixin.get_loglevele   s"    %!1!12e$$r   c                "    | j                         S r5   )r   r]   s    r   r   zLogMixin.loggerj   s      r   c                .    | j                   j                  S r5   )	__class____name__r]   s    r   rM   zLogMixin.logger_namen   s    ~~&&&r   N)rg   
__module____qualname____doc__r;   r>   rB   rH   rK   rO   r6   r   r`   r   r
   r   propertyrM    r   r   r   r   9   s`    88778;.,B
 ! ! ' 'r   r   c                  6     e Zd ZddZ fdZed        Z xZS )Logc                     || _         || _        y r5   )_logger_name_logger)r9   namer   s      r   __init__zLog.__init__u   s     r   c                P    | j                   r| j                   S t        | 	         S r5   )rq   superr   )r9   rf   s    r   r   zLog.get_loggery   s"    <<<<w!##r   c                    | j                   S r5   )rp   r]   s    r   rM   zLog.logger_name~   s       r   r5   )rg   rh   ri   rs   r   rk   rM   __classcell__)rf   s   @r   rn   rn   s   s!    $
 ! !r   rn   c                *   t        j                         }t        | xs d      } |r|nt        j                  }|j
                  sOt        |d      rt        j                  |      }nt        |      }|j                  |       |j                  |        |S )zSetup logging.rG   write)r   r   r   sys
__stderr__r   hasattrStreamHandlerr   r   setLevel)loglevellogfiler   handlers       r   r   r      sv     FH/0H gcnnG??7G$++G4G(1G'"!Mr   )r   zstr | Loggerr5   )NN)%rj   
__future__r   r   rb   osrz   logging.handlersr   typingr   utils.encodingr   r   utils.functionalr	   utils.objectsr
   r   __all__dict_nameToLevelr   update_levelToNamerF   r   environr,   r   r   r   r(   r2   r   rn   r   rl   r   r   <module>r      s     "   	 
 /   / , *
E'&&'
 
  '&& ' 
  gw}} - 
  gmmW -ZZ^^$89 :97' 7't!( ! r   