
    ~iO$                        d dl mZ d dlZ	 d dlmZ n# e$ r dZY nw xY wdZeL G d de          Zd ZeD ]Z	e	ej
        ej        fvr
ee	j        z  Ze                    ej        de           nT G d d	e          Z G d
 de          Zd Ze                                D ]Zej        dvr
eej        z  Zeej        _         G d dej                  Ze                    edej        j                  ZdS )    )print_functionN)Enumzcom.volcengine.sdkcorec                   \    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d Zed             Zd ZdS )LogLevel)r   )   )   LOG_DEBUG_WITH_REQUEST)   r	   )   r	   )   LOG_DEBUG_WITH_RESPONSE)   r	   )   r	   )   r	   )	   r	   )c                 8   t                               | d|           |dk    r[d|z  }t          |           }|D ]&}t          ||          r|n||         }||j        z  }'t                               | d|           d S t                               | dd           d S )N	bit_indexr   r   mask)object__setattr__type
isinstancer   )selfr   parentsmclspparents          q/root/.openclaw/workspace/.venvs/ark-sdk/lib/python3.11/site-packages/volcenginesdkcore/observability/debugger.py__init__zLogLevel.__init__!   s    t[)<<< A~~N4jj  % %A",Q"4"4@QQ#a&F$AA""433333""433333    c                 D    |s| j         j        S d}|D ]}||j        z  }|S )z!Combine multiple modes into flagsr   LOG_DEBUG_OFFr   r   modesfr   s       r    combinezLogLevel.combine0   s>      .(--A  QVHr"   c                 (    || j         z  | j         k    S )z4Check whether the current mode is contained in flagsr   r   flagss     r    matcheszLogLevel.matches:   s    DI%$)33r"   N)__name__
__module____qualname__r%   r	   LOG_DEBUG_WITH_REQUEST_BODYLOG_DEBUG_WITH_REQUEST_IDr   LOG_DEBUG_WITH_RESPONSE_BODYLOG_DEBUG_WITH_SIGNINGLOG_DEBUG_WITH_ENDPOINTLOG_DEBUG_WITH_REQUEST_RETRIESLOG_DEBUG_WITH_CONFIGLOG_DEBUG_ALLr!   classmethodr)   r.    r"   r    r   r      s        !%&C#$A!"?'E$!>"?)F& =	4 	4 	4 
	 	 
		4 	4 	4 	4 	4r"   r   r   c                   &    e Zd ZdZddZd Zd ZdS )_Levelnamer   r   Nc                 z    || _         || _        |dk    rd|z  }|r|D ]}||j        z  }|| _        d S d| _        d S )Nr   r   r>   )r   r?   r   r   r   r   s         r    r!   z_Level.__init__J   s\    DI&DNA~~N $$ $ $QV						r"   c                 (    || j         z  | j         k    S Nr+   r,   s     r    r.   z_Level.matchesV   s    DI%$)33r"   c                 B    d                     | j        | j                  S )Nz<LogLevel {0} mask=0x{1:X}>)formatr?   r   r   s    r    __repr__z_Level.__repr__Y   s    077	49MMMr"   rB   )r/   r0   r1   	__slots__r!   r.   rF   r;   r"   r    r=   r=   G   sP        1	
	 
	 
	 
		4 	4 	4	N 	N 	N 	N 	Nr"   r=   c                   f   e Zd ZdZ edd          Z edd          Z eddeg          Z edd	eg          Z ed
deg          Z	 eddeg          Z
 eddeg          Z eddeg          Z eddeg          Z eddeg          Z edd          Zed             Zed             ZdS )r   zDEnum fallback container: provides the same constants and API as Enumr%   r   r	   r   r   r   r2   r   r3   r
   r4   r   r5   r   r6   r   r7   r   r8   r   r9   r   c                     | j         | j        | j        | j        | j        | j        | j        | j        | j        | j	        | j
        gS rB   )r%   r	   r2   r3   r   r4   r5   r6   r7   r8   r9   )r   s    r    _all_levelszLogLevel._all_levelso   sP     !*/-+0*+2)! r"   c                 D    |s| j         j        S d}|D ]}||j        z  }|S )Nr   r$   r&   s       r    r)   zLogLevel.combine   s<     .(--A  QVHr"   N)r/   r0   r1   __doc__r=   r%   r	   r   r2   r3   r4   r5   r6   r7   r8   r9   r:   rJ   r)   r;   r"   r    r   r   \   sN       RR22!'(@!!D!D"(&)BAH^G_"`"` '-f-JAPfOg&h&h#$*F+FLbKc$d$d!'-v.LaRiQj'k'k$!'(@!F\E]!^!^"(&)BAH^G_"`"`)/0PRSVlUm)n)n& &'>DZC[ \ \33		 	 
	  
	 	 
	 	 	r"   )r%   r9   c                   r    e Zd ZddZd Zd Zd Ze	 	 	 	 dd	            Zd
 Z	d Z
d Zd Zd Zd Zd ZdS )SdkCoreLoggerFr   c                     |r,t           j                            | |t           j                   n+t           j                            | |t           j                   t          |          | _        d S rB   )loggingLoggerr!   DEBUGWARNINGint
_log_level)r   r?   debug	log_levels       r    r!   zSdkCoreLogger.__init__   sW     	AN##D$>>>>N##D$@@@i..r"   c                 .    t          |          | _        d S rB   )rT   rU   )r   rW   s     r    set_log_levelzSdkCoreLogger.set_log_level   s    i..r"   c                     | j         S rB   )rU   rE   s    r    get_log_levelzSdkCoreLogger.get_log_level   s
    r"   c                 6    |                     | j                  S rB   )r.   rU   )r   
level_enums     r    is_enabled_for_loglevelz%SdkCoreLogger.is_enabled_for_loglevel   s    !!$/222r"   L%(asctime)s [%(threadName)s] %(levelname)s %(name)s:%(lineno)d - %(message)s%Y-%m-%d %H:%M:%Sc                 8    t          | ||          }d|_        |S )z
        Create an SdkLogger with Handler.
        - base_level: standard logging minimum level
        - log_flags: your custom LogLevel bitmask
        rV   rW   F)rN   	propagate)r?   rV   rW   fmtdatefmtloggers         r    get_sdk_loggerzSdkCoreLogger.get_sdk_logger   s'     t5IFFF !r"   c                     |                      t          j                  r(|                     |          r | j        |g|R i | dS dS dS )z
        Debug with "function bit".
        Conditions:
          1) Standard logging level allowed (Logger.level / Handler.level)
          2) Custom bit included (self._log_level)
        Only then will it output.
        N)isEnabledForrP   rR   r^   rV   )r   curr_log_level_enummsgargskwargss        r    debugxzSdkCoreLogger.debugx   sn     W]++ 	-0L0LM`0a0a 	-DJs,T,,,V,,,,,	- 	- 	- 	-r"   c                 D     | j         t          j        d|z   g|R i | d S )Nz[Sign] )rn   r   r5   r   rk   rl   rm   s       r    
debug_signzSdkCoreLogger.debug_sign   s3    H3Y_VtVVVvVVVVVr"   c                 D     | j         t          j        d|z   g|R i | d S )Nz[Endpoint] )rn   r   r6   rp   s       r    debug_endpointzSdkCoreLogger.debug_endpoint   s5    H4mc6I[D[[[TZ[[[[[r"   c                 D     | j         t          j        d|z   g|R i | d S )Nz[Retry] )rn   r   r	   rp   s       r    debug_retryzSdkCoreLogger.debug_retry   s5    H3Z#5EWWWWPVWWWWWr"   c                 D     | j         t          j        d|z   g|R i | d S )Nz	[Config] )rn   r   r8   rp   s       r    debug_configzSdkCoreLogger.debug_config   s5    H2K#4EWWWWPVWWWWWr"   c                     |                     dd          }|r! | j        t          j        d|z   g|R i | d S  | j        t          j        d|z   g|R i | d S )Nis_bodyFz
[Request] )poprn   r   r2   r	   r   rk   rl   rm   ry   s        r    debug_requestzSdkCoreLogger.debug_request   s    **Y.. 	^DK<lS>PbSWbbb[abbbbbDK79K]d]]]V\]]]]]r"   c                     |                     dd          }|r! | j        t          j        d|z   g|R i | d S  | j        t          j        d|z   g|R i | d S )Nry   Fz[Response] )rz   rn   r   r4   r   r{   s        r    debug_responsezSdkCoreLogger.debug_response   s    **Y.. 	`DK=}s?RdUYddd]cdddddDK8-#:M_PT___X^_____r"   N)Fr   )Fr   r_   r`   )r/   r0   r1   r!   rY   r[   r^   staticmethodrg   rn   rq   rs   ru   rw   r|   r~   r;   r"   r    rN   rN      s        ) ) ) )) ) )  3 3 3 "!"i2	   \(
- 
- 
-W W W\ \ \X X XX X X^ ^ ^` ` ` ` `r"   rN   Frb   )
__future__r   rP   enumr   	ExceptionSDK_DEBUGGER_LOG_NAMEr   _alllvr%   r9   r   r   r   r=   	_all_maskrJ   _lvr?   rQ   rN   rg   sdk_core_loggerr;   r"   r    <module>r      s   & % % % % %    DDD 1  *4 *4 *4 *4 *44 *4 *4 *4Z D  h,h.DEEEBGOD
x-vt<<<<N N N N N N N N*+ + + + +6 + + +\ I##%% " "8===!I"+HN` N` N` N` N`GN N` N` N`` "001Fe_g_u_z0{{s    