
    j                         d dl Z d dlZd dlZd dlZd dlZddlmZ g dZdZddiddidd	idd
iddidZ	 ej
        e          Zd Zd Zd Z e j        d          d             Zd Zd Zd ZddefdZd Zd Zd ZdS )    N   )DEBUG)criticaldebugerror	exceptioninfosetup_loggingwarningpaddlexcolorpurplegreenyellowredbold_red)r   INFOWARNINGERRORCRITICALc                 6   t           rt          j                    }|j        }|j        j        }d|j        v r|j        d         j        j        }nd|j        v r|j        d         j        }nd}|r| d| }n| }d| d|  } t          j
        | g|R i | dS dS )r   selfclsNz::u   【u   】)r   inspectcurrentframef_backf_codeco_namef_locals	__class____name___loggerr   )msgargskwargsframecaller_framecaller_func_namecaller_class_namecaller_infos           e/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/paddlex/utils/logging.pyr   r   /   s     ,$&&|'.6\*** , 5f = G Pl+++ , 5e < E $ 	0.DD2BDDKK-/K)K))C))c+D+++F+++++#, ,    c                 0    t          j        | g|R i | dS )r	   N)r"   r	   r#   r$   r%   s      r+   r	   r	   E   s(    L&t&&&v&&&&&r,   c                 0    t          j        | g|R i | dS )r   N)r"   r   r.   s      r+   r   r   J   s(    OC)$)))&)))))r,   c                 &    t          | g|R i | dS )zs
    This method is identical to `logger.warning()`, but will emit the warning with the same message only once
    N)r   r.   s      r+   warning_oncer1   O   s(    
 C!$!!!&!!!!!r,   c                 0    t          j        | g|R i | dS )r   N)r"   r   r.   s      r+   r   r   W   s(    M#'''''''''r,   c                 0    t          j        | g|R i | dS )r   N)r"   r   r.   s      r+   r   r   \   s)    S*4***6*****r,   c                 0    t          j        | g|R i | dS )r   N)r"   r   r.   s      r+   r   r   a   s)    c+D+++F+++++r,   	verbosityc                 x    | t           rd} nd} | )t          t          |                                            dS dS )zsetup logging level

    Args:
        verbosity (str, optional): the logging level, `DEBUG`, `INFO`, `WARNING`. Defaults to None.
    Nr   r   )r   _configure_loggerr"   upper)r5   s    r+   r
   r
   f   sL      	III'9??#4#455555 r,   c                 ^   |dk    r%t                               t          j                   nU|dk    r%t                               t          j                   n*|dk    r$t                               t          j                   d| _        |                                 st          |            dS dS )r7   r   r   r   FN)	r"   setLevelloggingr   r   r   	propagatehasHandlers_add_handler)loggerr5   s     r+   r7   r7   v   s    G''''	f		&&&&	i		)))F V r,   c                    t          j        dd t                                          D                       }t	          j        t          j                  }|                    |           | 	                    |           dS )r>   z%(log_color)s%(message)sc                 &    i | ]\  }}||d          S )r    ).0keyconfs      r+   
<dictcomp>z _add_handler.<locals>.<dictcomp>   s"    LLL93CgLLLr,   )
log_colorsN)
colorlogColoredFormatter_LOG_CONFIGitemsr;   StreamHandlersysstderrsetFormatter
addHandler)r?   formathandlers      r+   r>   r>      s{    &"LL8I8I8K8KLLL  F
 #CJ//G   
gr,   c                     d} d}d}dt          t          | ||gt                               z   }t          d                    d|dz   z  d	                    |                     |                    d|dz   z  d	                    d
|z            d	                    |                    |                    d	                    d
|z            d	                    |                    |                    d|dz   z                       dS )a<  
    Show the advertising message like the following:

    ===========================================================
    ==         PaddleX is powered by PaddlePaddle !          ==
    ===========================================================
    ==                                                       ==
    ==   For more info please go to the following website.   ==
    ==                                                       ==
    ==        https://github.com/PaddlePaddle/PaddleX        ==
    ===========================================================

    z$PaddleX is powered by PaddlePaddle !z1For more info please go to the following website.z'https://github.com/PaddlePaddle/PaddleX   )rD   z!
{0}
{1}
{2}
{3}
{4}
{5}
{6}
{7}
=   z=={}== N)lenmaxr	   rQ   center)	copyrightadwebsiteAD_LENs       r+   	advertiser_      s    7I	<B7GS)R1s;;;<<<F4;;6A:OOI,,V44556A:OOC&L))OOBIIf--..OOC&L))OOGNN622336A:		
 		
    r,   )N)	functoolsr   r;   rM   rH   flagsr   __all__LOGGER_NAMErJ   	getLoggerr"   r   r	   r   	lru_cacher1   r   r   r   strr
   r7   r>   r_   rB   r,   r+   <module>rg      s          



          x g"u*%  '
K
(
(, , ,,' ' '
* * *
 T" " "( ( (
+ + +
, , ,
6 6S 6 6 6 6 
 
 
	 	 	    r,   