
    bg                         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                    Zd Z G d de	          Z
d Z G d de	          ZdS )    Nc                    t          j        |           }|                    t          j        t          j                             |                    t           j                   |dk    r!|                    t           j                   d S |dk    r!|                    t           j	                   d S |dk    r!|                    t           j
                   d S |dk    r!|                    t           j                   d S d S )N            )logging	getLogger
addHandlerStreamHandlersysstdoutsetLevelCRITICALERRORWARNINGINFODEBUG)name	log_levelloggers      7/usr/lib/python3/dist-packages/samba/gp/util/logging.pylogger_initr      s    t$$F
g+CJ77888
OOG$%%%A~~&&&&&	a(((((	a%%%%%	a&&&&& 
    c                   2    e Zd ZdZ e            fdZd ZdS )slogmz&
    Structured log message class
    c                 v    || _         || _        t          | j        t                    sd| j        i| _        d S d S )Nval)messagekwargs
isinstancedict)selfr   r   s      r   __init__zslogm.__init__-   s@    $+t,, 	1!4;0DKKK	1 	1r   c                    t          t          j                                                            dd                    }t	                      }|                    | j                   d                    || j        |          }|S )N milliseconds)septimespecz
{}|{} | {})	strdatetimenow	isoformatr!   updater   formatr   )r"   r+   argsresults       r   __str__zslogm.__str__3   sl    (#''))33n3UUVVvvDK   $$S$,==r   N)__name__
__module____qualname____doc__r!   r#   r1    r   r   r   r   )   sL          (,tvv 1 1 1 1    r   r   c                     t          j        |           t          j        dd          }d| z   t          |                              dd          z   dz   t          j        |          z   S )Nr   i [   0z]| )randomseedrandintr)   rjustgettext)mtyper   codes      r   message_with_coderB   ;   s_    
K>!U##D;TC00058?7##$ $r   c                       e Zd Zei fd            Zei fd            Zei fd            Zei fd            Zei fd            Zei fd            Z	dS )logc                 v    t          d|           }t                              t          ||                     |S )NI)rB   r   infor   r   datamsgs      r   rG   zlog.infoB   s2    W--E#t$$%%%
r   c                 v    t          d|           }t                              t          ||                     |S )NW)rB   r   warningr   rH   s      r   rM   zlog.warningH   s2    W--uS$''(((
r   c                 8    t                               | |          S )N)rD   rM   )r   rI   s     r   warnzlog.warnN   s    {{7D)))r   c                 v    t          d|           }t                              t          ||                     |S )NE)rB   r   errorr   rH   s      r   rR   z	log.errorR   2    W--U3%%&&&
r   c                 v    t          d|           }t                              t          ||                     |S )NF)rB   r   fatalr   rH   s      r   rV   z	log.fatalX   rS   r   c                 v    t          d|           }t                              t          ||                     |S )ND)rB   r   debugr   rH   s      r   rY   z	log.debug^   rS   r   N)
r2   r3   r4   staticmethodrG   rM   rO   rR   rV   rY   r6   r   r   rD   rD   A   s            \
      \
  * * * \*     \
     \
     \  r   rD   )jsonr*   r   r?   r;   r   r	   r   r   objectr   rB   rD   r6   r   r   <module>r]      s   (      



				' ' '    F   $$ $ $! ! ! ! !& ! ! ! ! !r   