
(°h±  ã               @   sž   d  Z  d Z d Z d Z d Z d Z d d l Z Gd 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               @   ss   e  Z d  Z e 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
   ú?/tmp/pip-build-kmztzv_d/setuptools/setuptools/_distutils/log.pyÚ__init__   s    zLog.__init__c             C   sç   | t  t t t t f k r1 t d t | ƒ ƒ ‚ | |  j k rã | rP | | } | t t t f k rq t j	 } n	 t j
 } y | j d | ƒ WnG t k
 rØ | j } | j | d ƒ j | ƒ } | j d | ƒ Yn X| j ƒ  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   |  j  | | | ƒ d  S)N)r"   )r	   r   r   r    r
   r
   r   Úlog'   s    zLog.logc             G   s   |  j  t | | ƒ d  S)N)r"   r   )r	   r   r    r
   r
   r   Údebug*   s    z	Log.debugc             G   s   |  j  t | | ƒ d  S)N)r"   r   )r	   r   r    r
   r
   r   Úinfo-   s    zLog.infoc             G   s   |  j  t | | ƒ d  S)N)r"   r   )r	   r   r    r
   r
   r   Úwarn0   s    zLog.warnc             G   s   |  j  t | | ƒ d  S)N)r"   r   )r	   r   r    r
   r
   r   Úerror3   s    z	Log.errorc             G   s   |  j  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   sL   |  d k r t  t ƒ n/ |  d k r2 t  t ƒ n |  d k rH t  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    +							