
    ܍~cP                        d dl Zd dlZ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	ej
        Z
ej        Zej        Zej        Zej        Zej        Zej        ZdZej        ej        _        edfdZd Zd
dZddZd Zd	 Z e             dS )    Nz6%(asctime)s - %(filename)s[%(levelname)s]: %(message)sc                    |st          j        t                    }t          j                    }|j        D ]O}t          |d          r=t          |j        d          r(|j        j        dk    r|                    |             d S Pt          j	        t          j                  }|                    |           |                    |            |                    |           |                    |            d S )Nstreamnamez<stderr>)logging	FormatterDEF_CON_FORMAT	getLoggerhandlershasattrr   r   setLevelStreamHandlersysstderrsetFormatter
addHandler)level	formatterroothandlerconsoles        //usr/lib/python3/dist-packages/cloudinit/log.pysetupBasicLoggingr   %   s     6%n55	D=  7H%% 	''.&*I*I 	~"j00  '''#CJ//G###UOOGMM%    c                     | sd S | j         D ]B}t          |t          j                  r&	 |                                 2# t
          $ r Y >w xY wCt          | j                   d S N)r
   
isinstancer   r   flushIOErrorflushLoggersparent)r   hs     r   r   r   6   s     ]  a'/11 					   	
 s   >
A
Ac                    | si } g }|                      d          }|r8t          |t                    r#|                    t          |                     nd| v r| d         D ]}t          |t                    r|                    |           -t          |t          j        j                  r5d |D             }|                    d                    |                     |                    t          |                     d}|D ]}	 |dz  }|                    d          r t          j
                            |          rnt          j        |          }t          j                            |            d S # t"          $ r Y w xY w|                      dd	          }t$          j                            d
|z             |r/t$          j                            d           t+                       d S d S )Nlogcfglog_cfgsc                 ,    g | ]}t          |          S  )str).0cs     r   
<listcomp>z setupLogging.<locals>.<listcomp>R   s    111a3q66111r   
r      /	log_basicTz0WARN: no logging configured! (tried %s configs)
zSetting up basic logging...
)getr   r'   appendcollectionsabcIterablejoin
startswithospathisfileioStringIOr   config
fileConfig	Exceptionr   r   writer   )cfgr$   log_cfga_cfgcfg_stram_triedbasic_enableds          r   setupLoggingrE   B   s    HgghG ,:gs++ , 	G%%%%	s		_ 	, 	,E%%% ,&&&&EKO$<>> ,115111		' 2 23333E

++++ H  	MH!!#&& /27>>'+B+B / +g..N%%g...FF 	 	 	
 D	 GGK..MJ;xH    
8999 s   A-E==
F
	F
	cloudinitc                 *    t          j        |           S r   )r   r	   )r   s    r   r	   r	   z   s    T"""r   c                 :   | sdS t          | j                  }|D ]?}|                                 |                                 |                     |           @|                     t                     |                     t          j	                               dS )zRemove all current handlers, unset log level and add a NullHandler.

    (Adding the NullHandler avoids "No handlers could be found for logger XXX"
    messages.)
    N)
listr
   r   closeremoveHandlerr   NOTSETr   r   NullHandler)logr
   r!   s      r   _resetLoggerrO   ~   s      CL!!H  								!LLNN7&(()))))r   c                  |    t          t          j                               t          t                                 d S r   )rO   r   r	   r&   r   r   resetLoggingrQ      s1    "$$%%%r   r   )rF   )collections.abcr1   r9   r   logging.configlogging.handlersr6   r   timeCRITICALFATALERRORWARNINGWARNINFODEBUGrL   r   gmtimer   	converterr   r   rE   r	   rO   rQ   r&   r   r   <module>r_      s,       				          				 



  
/||	 J #k   "T    "	 	 	5 5 5 5p# # # #* * *"  
 r   