a
    I_M                  
   @   s   d dl Z d dlZd dlmZmZmZmZmZmZ ej	eej
eejeejeejeiZG dd dejZde jdddddfdd	ZdS )
    N)GREYYELLOWGREENREDDARK_REDC_NORMALc                       s    e Zd ZdZ fddZ  ZS )ColoredFormatterz#Add color to log according to levelc                    s*   t t| |}t|jt}|| t S )N)superr   formatLEVEL_COLORSgetZlevelnor   r   )selfrecordlogZcolor	__class__ ./usr/lib/python3/dist-packages/samba/logger.pyr
   #   s    zColoredFormatter.format)__name__
__module____qualname____doc__r
   __classcell__r   r   r   r   r       s   r   ZsambaFzO%(levelname)s %(asctime)s pid:%(process)d %(pathname)s #%(lineno)d: %(message)sc                 C   s   t | }|s(|rt jp&|r"t jp&t j}|| t|drJ| rJt}nt j	}|||d}	t j
|d}
|
|	 ||
 |S )z.
    Get a logger instance and config it.
    isatty)fmtdatefmt)stream)loggingZ	getLoggerDEBUGWARNINGINFOZsetLevelhasattrr   r   	FormatterZStreamHandlerZsetFormatterZ
addHandler)namer   levelverbosequietr   r   Zloggerr"   Z	formatterZhandlerr   r   r   get_samba_logger)   s     	




r'   )sysr   Zsamba.colourr   r   r   r   r   r   ZCRITICALZERRORr   r    r   r   r"   r   stderrr'   r   r   r   r   <module>   s    	
