
    Id_              
          d dl Z d dlZd dlmZmZmZmZmZmZ d dlm	Z	 ej                  eej                  eej                  eej                  eej                  eiZ G d dej                         Zde j$                  dddddfd	Zy)
    N)GREYYELLOWGREENREDDARK_REDC_NORMAL)is_colour_wantedc                   "     e Zd ZdZ fdZ xZS )ColoredFormatterz#Add color to log according to levelc                     t         t        |   |      }t        j	                  |j
                  t              }||z   t        z   S )N)superr   formatLEVEL_COLORSgetlevelnor   r   )selfrecordlogcolor	__class__s       ./usr/lib/python3/dist-packages/samba/logger.pyr   zColoredFormatter.format$   s:    $d26:  6s{X%%    )__name__
__module____qualname____doc__r   __classcell__)r   s   @r   r   r   !   s    -& &r   r   sambaFzO%(levelname)s %(asctime)s pid:%(process)d %(pathname)s #%(lineno)d: %(message)sc                    t        j                  |       }|s<|xr t         j                  xs& |xr t         j                  xs t         j                  }|j                  |       t        |      rt        }nt         j                  } |||      }	t        j                  |      }
|
j                  |	       |j                  |
       |S )z.
    Get a logger instance and config it.
    )fmtdatefmt)stream)logging	getLoggerDEBUGWARNINGINFOsetLevelr	   r   	FormatterStreamHandlersetFormatter
addHandler)namer"   levelverbosequietr    r!   loggerr)   	formatterhandlers              r   get_samba_loggerr4   *   s     t$F+gmm =+GOO=07 	 OOE$	%%	c73I##62G#
gMr   )sysr#   samba.colourr   r   r   r   r   r   r	   CRITICALERRORr&   r'   r%   r   r)   r   stderrr4    r   r   <module>r;      s   &   E E ) hMM3OOVLL%MM4&w(( & SZZE5r   