
    g                         S SK r S SKrS SKrS SKrS SKr\R
                  " S5      rS r " S S\5      r	S r
 " S S\5      rg)	    Ngpc                    [         R                  [        R                  " [        R
                  5      5        [         R                  [        R                  5        US:X  a$  [         R                  [        R                  5        g US:X  a$  [         R                  [        R                  5        g US:X  a$  [         R                  [        R                  5        g US:  a$  [         R                  [        R                  5        g g )N            )logger
addHandlerloggingStreamHandlersysstdoutsetLevelCRITICALERRORWARNINGINFODEBUG)name	log_levels     7/usr/lib/python3/dist-packages/samba/gp/util/logging.pylogger_initr      s    
g++CJJ78
OOG$$%A~&	a(	a%	a& 
    c                   (    \ rS rSrSrSS jrS rSrg)slogm)   z
Structured log message class
Nc                     Uc  0 nXl         X l        [        U R                  [        5      (       d  SU R                  0U l        g g )Nval)messagekwargs
isinstancedict)selfr   r    s      r   __init__slogm.__init__-   s<    >F$++t,,!4;;0DK -r   c                     [        [        R                  R                  5       R                  SSS95      n[	        5       nUR                  U R                  5        SR                  XR                  U5      nU$ )N milliseconds)septimespecz
{}|{} | {})	strdatetimenow	isoformatr"   updater    formatr   )r#   r-   argsresults       r   __str__slogm.__str__5   s]    (##'')33n3UVvDKK $$S,,=r   )r    r   N)__name__
__module____qualname____firstlineno____doc__r$   r3   __static_attributes__ r   r   r   r   )   s    1r   r   c                     [         R                  " U5        [         R                  " SS5      nSU -   [        U5      R	                  SS5      -   S-   [
        R
                  " U5      -   $ )Nr   i [   0z]| )randomseedrandintr+   rjustgettext)mtyper   codes      r   message_with_coderH   =   sT    
KK>>!U#D;TC0058??7#$ $r   c                       \ rS rSr\S
S j5       r\S
S j5       r\S
S j5       r\S
S j5       r\S
S j5       r	\S
S j5       r
S	rg)logC   Nc                 d    Uc  0 n[        SU 5      n[        R                  [        X!5      5        U$ )NI)rH   r	   infor   r   datamsgs      r   rN   log.infoD   s.    <DW-E#$%
r   c                 d    Uc  0 n[        SU 5      n[        R                  [        X!5      5        U$ )NW)rH   r	   warningr   rO   s      r   rU   log.warningL   s.    <DW-uS'(
r   c                 6    Uc  0 n[         R                  X5      $ r5   )rJ   rU   )r   rP   s     r   warnlog.warnT   s    <D{{7))r   c                 d    Uc  0 n[        SU 5      n[        R                  [        X!5      5        U$ )NE)rH   r	   errorr   rO   s      r   r\   	log.errorZ   .    <DW-U3%&
r   c                 d    Uc  0 n[        SU 5      n[        R                  [        X!5      5        U$ )NF)rH   r	   fatalr   rO   s      r   ra   	log.fatalb   r^   r   c                 d    Uc  0 n[        SU 5      n[        R                  [        X!5      5        U$ )ND)rH   r	   debugr   rO   s      r   re   	log.debugj   r^   r   r<   r5   )r6   r7   r8   r9   staticmethodrN   rU   rX   r\   ra   re   r;   r<   r   r   rJ   rJ   C   sx        * *
      r   rJ   )r,   r   rE   rA   r   	getLoggerr	   r   objectr   rH   rJ   r<   r   r   <module>rj      sH   (     
			4	 
'F ($-& -r   