B
    ^ Çc±  ã               @   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
   úlib/python3.7/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
}y| 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 )N)r"   )r	   r   r   r    r
   r
   r   Úlog'   s    zLog.logc             G   s   |   t||¡ d S )N)r"   r   )r	   r   r    r
   r
   r   Údebug*   s    z	Log.debugc             G   s   |   t||¡ d S )N)r"   r   )r	   r   r    r
   r
   r   Úinfo-   s    zLog.infoc             G   s   |   t||¡ d S )N)r"   r   )r	   r   r    r
   r
   r   Úwarn0   s    zLog.warnc             G   s   |   t||¡ d S )N)r"   r   )r	   r   r    r
   r
   r   Úerror3   s    z	Log.errorc             G   s   |   t||¡ d S )N)r"   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 )N)Ú_global_logr   )r   Úoldr
   r
   r   Úset_thresholdA   s    r.   c             C   s8   | dkrt tƒ n"| dkr$t tƒ n| dkr4t tƒ d S )Nr   r   r   )r.   r   r   r   )Úvr
   r
   r   Úset_verbosityG   s    

r0   )Ú__doc__r   r   r   r   r   r   r   r,   r#   r$   r%   r&   r'   r(   r.   r0   r
   r
   r
   r   Ú<module>   s    +