î
]á[\t  ã               @   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
   ú#/usr/lib/python3.4/distutils/log.pyÚ__init__   s    zLog.__init__c             C   sØ   | t  t t t t f k r4 t d t | ƒ ƒ ‚ n  | |  j k rÔ | rV | | } n  | t t t f k rw t j	 } n	 t j
 } | j d k r¶ | j } | j | d ƒ j | ƒ } n  | j d | ƒ | j ƒ  n  d  S)Nz%s wrong log levelÚstrictÚbackslashreplacez%s
)ÚDEBUGÚINFOÚWARNÚERRORÚFATALÚ
ValueErrorÚstrr   ÚsysÚstderrÚstdoutÚerrorsÚencodingÚencodeÚdecodeÚwriteÚ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   Úwarn.   s    zLog.warnc             G   s   |  j  t | | ƒ d  S)N)r#   r   )r	   r    r!   r
   r
   r   Úerror1   s    z	Log.errorc             G   s   |  j  t | | ƒ d  S)N)r#   r   )r	   r    r!   r
   r
   r   Úfatal4   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_threshold?   s    		r/   c             C   sO   |  d k r t  t ƒ n2 |  d k r2 t  t ƒ n |  d k rK t  t ƒ n  d  S)Nr   r   r   )r/   r   r   r   )Úvr
   r
   r   Úset_verbosityE   s    r1   )Ú__doc__r   r   r   r   r   r   r   r-   r$   r%   r&   r'   r(   r)   r/   r1   r
   r
   r
   r   Ú<module>   s    )							