
    0e                         d dl Z d dlZd dlZd dlZd dlZd dlZ ej                  d      Zd Z G d de	      Z
d Z G d de	      Zy)	    Ngpc                    t         j                  t        j                  t        j
                               t         j                  t        j                         |dk(  r$t         j                  t        j                         y |dk(  r$t         j                  t        j                         y |dk(  r$t         j                  t        j                         y |dk\  r$t         j                  t        j                         y y )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                       e Zd ZdZddZd Zy)slogmz&
    Structured log message class
    Nc                     |i }|| _         || _        t        | j                  t              sd| j                  i| _        y y )Nval)messagekwargs
isinstancedict)selfr   r   s      r   __init__zslogm.__init__.   s=    >F$++t,!4;;0DK -r   c                     t        t        j                  j                         j                  dd            }t	               }|j                  | j                         dj                  || j                  |      }|S )N milliseconds)septimespecz
{}|{} | {})	strdatetimenow	isoformatr!   updater   formatr   )r"   r+   argsresults       r   __str__zslogm.__str__6   s_    (##'')33n3UVvDKK $$S$,,=r   N)__name__
__module____qualname____doc__r#   r1    r   r   r   r   *   s    1r   r   c                     t        j                  |       t        j                  dd      }d| z   t        |      j	                  dd      z   dz   t        j
                  |      z   S )Nr   i [   0z]| )randomseedrandintr)   rjustgettext)mtyper   codes      r   message_with_coderC   >   sT    
KK>>!U#D;TC0058??7#$ $r   c                   x    e Zd Zedd       Zedd       Zedd       Zedd       Zedd       Zedd       Z	y)	logNc                 d    |i }t        d|       }t        j                  t        ||             |S )NI)rC   r	   infor   r   datamsgs      r   rH   zlog.infoE   s0    <DW-E#t$%
r   c                 d    |i }t        d|       }t        j                  t        ||             |S )NW)rC   r	   warningr   rI   s      r   rN   zlog.warningM   s0    <DW-uS$'(
r   c                 6    |i }t         j                  | |      S r2   )rE   rN   )r   rJ   s     r   warnzlog.warnU   s    <D{{7D))r   c                 d    |i }t        d|       }t        j                  t        ||             |S )NE)rC   r	   errorr   rI   s      r   rS   z	log.error[   0    <DW-U3%&
r   c                 d    |i }t        d|       }t        j                  t        ||             |S )NF)rC   r	   fatalr   rI   s      r   rW   z	log.fatalc   rT   r   c                 d    |i }t        d|       }t        j                  t        ||             |S )ND)rC   r	   debugr   rI   s      r   rZ   z	log.debugk   rT   r   r2   )
r3   r4   r5   staticmethodrH   rN   rP   rS   rW   rZ   r7   r   r   rE   rE   D   sx        * *
      r   rE   )jsonr*   r   r@   r<   r   	getLoggerr	   r   objectr   rC   rE   r7   r   r   <module>r_      sM   (      
			4	 
'F ($-& -r   