U
    ËAš`±  ã                   @   sl   d Z dZdZdZdZdZddlZG dd	„ d	ƒZeƒ Zej	Z	ej
Z
ejZejZejZejZd
d„ Zdd„ ZdS )z,A simple log mechanism styled after PEP 282.é   é   é   é   é   é    Nc                   @   sP   e Zd Zefdd„Zdd„ Zdd„ Zdd„ Zd	d
„ Zdd„ Z	dd„ Z
dd„ ZdS )ÚLogc                 C   s
   || _ d S ©N)Ú	threshold)Úselfr	   © r   ú#/usr/lib/python3.8/distutils/log.pyÚ__init__   s    zLog.__init__c                 C   s®   |t ttttfkr"tdt|ƒ ƒ‚|| jkrª|r8|| }|tttfkrNtj	}ntj
}z| d| ¡ W n: tk
r    |j}| |d¡ |¡}| d| ¡ Y nX | ¡  d S )Nz%s wrong log levelz%s
Úbackslashreplace)ÚDEBUGÚINFOÚWARNÚERRORÚFATALÚ
ValueErrorÚstrr	   ÚsysÚstderrÚstdoutÚwriteÚUnicodeEncodeErrorÚencodingÚencodeÚdecodeÚflush)r
   ÚlevelÚmsgÚargsÚstreamr   r   r   r   Ú_log   s    
zLog._logc                 G   s   |   |||¡ d S r   )r#   )r
   r   r    r!   r   r   r   Úlog'   s    zLog.logc                 G   s   |   t||¡ d S r   )r#   r   ©r
   r    r!   r   r   r   Údebug*   s    z	Log.debugc                 G   s   |   t||¡ d S r   )r#   r   r%   r   r   r   Úinfo-   s    zLog.infoc                 G   s   |   t||¡ d S r   )r#   r   r%   r   r   r   Úwarn0   s    zLog.warnc                 G   s   |   t||¡ d S r   )r#   r   r%   r   r   r   Úerror3   s    z	Log.errorc                 G   s   |   t||¡ d S r   )r#   r   r%   r   r   r   Úfatal6   s    z	Log.fatalN)Ú__name__Ú
__module__Ú__qualname__r   r   r#   r$   r&   r'   r(   r)   r*   r   r   r   r   r      s   r   c                 C   s   t j}| t _|S r   )Ú_global_logr	   )r   Úoldr   r   r   Úset_thresholdA   s    r0   c                 C   s8   | dkrt tƒ n"| dkr$t tƒ n| dkr4t tƒ d S )Nr   r   r   )r0   r   r   r   )Úvr   r   r   Úset_verbosityG   s    

r2   )Ú__doc__r   r   r   r   r   r   r   r.   r$   r&   r'   r(   r)   r*   r0   r2   r   r   r   r   Ú<module>   s    +