o
    D³ãfa  ã                   @   sF   d dl Z d dlZdZG dd„ dejƒZG dd„ dejƒZdd	d
„ZdS )é    Né   c                   @   s   e Zd Zdd„ ZdS )ÚCrashingHandlerc                 C   s2   |   |¡}| j}| |¡ | | j¡ |  ¡  dS )z>Unlike the method it overrides, this will not catch exceptionsN)ÚformatÚstreamÚwriteÚ
terminatorÚflush)ÚselfÚrecordÚmsgr   © r   úU/var/www/html/software/conda/envs/catlas/lib/python3.10/site-packages/cutadapt/log.pyÚemit   s
   

zCrashingHandler.emitN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   	   s    r   c                       s    e Zd ZdZ‡ fdd„Z‡  ZS )ÚNiceFormatterzš
    Do not prefix "INFO:" to info-level log messages (but do it for all other
    levels).

    Based on http://stackoverflow.com/a/9218261/715090 .
    c                    s.   |j tjtfvrd |j|j¡|_tƒ  |¡S )Nz{}: {})ÚlevelnoÚloggingÚINFOÚREPORTr   Ú	levelnamer   Úsuper)r	   r
   ©Ú	__class__r   r   r      s   zNiceFormatter.format)r   r   r   Ú__doc__r   Ú__classcell__r   r   r   r   r      s    r   TFc                 C   sz   t  td¡ t|rtjntjƒ}| tƒ ¡ |dkrt j	}n|r$t j
}n|r)t}nt j}| |¡ |  |¡ |  |¡ dS )z4
    Attach handler to the global logger object
    r   r   N)r   ÚaddLevelNamer   r   ÚsysÚstderrÚstdoutÚsetFormatterr   ÚDEBUGÚERRORr   ÚsetLevelÚ
addHandler)ÚloggerZlog_to_stderrZminimalÚquietÚdebugZstream_handlerÚlevelr   r   r   Úsetup_logging!   s   

r*   )TFFr   )r   r   r   ÚStreamHandlerr   Ú	Formatterr   r*   r   r   r   r   Ú<module>   s    