Ë
    x[hi	  ã                   óÂ   — d dl Z d dlZd dlZd dlmZ  e j
                  e«      Ze j                  ddœde	ddfd„Z
 ed«      d	„ «       Zddde j                  dfd
„Zdd„Zy)é    N)ÚtimedT)Ú	log_levelÚexc_infor   Úreturnc                óX   —  | j                   ||g|¢­Ž   | j                  |g|¢­d|iŽ y )Nr   )ÚlogÚdebug)r   Úmsgr   r   Úargss        ú8/usr/lib/python3/dist-packages/cloudinit/log/log_util.pyÚlogexcr   
   s1   € ð €C‡G�GˆI�sÐ"˜TÓ"Ø€C‡I�IˆcÐ, tÒ,˜HÓ,ó    zWriting to consolec                 óˆ   — t        | d«      5 }|j                  |«       |j                  «        d d d «       y # 1 sw Y   y xY w)NÚw)ÚopenÚwriteÚflush)ÚconpathÚtextÚwfhs      r   Úwrite_to_consoler      s7   € ä	ˆg�sÓ	ð ˜sØ�	‰	�$ŒØ�	‰	Œ÷÷ ñ ús	   �"8¸Ac                 ó  — |rt         j                  j                  | «       |rUd}d}t        j                  j                  |«      r	 t        || «       d}|r!|st         j                  j                  | «       |r1| d   dk(  r|j                  || d d «       y |j                  || «       y y # t        $ rI d}t         j                  j                  |› d�«       |r |j                  t        j                  |«       Y Œ¨w xY w)Nz/dev/consoleFTzFailed to write to /dev/consoleú
éÿÿÿÿ)ÚsysÚstderrr   ÚosÚpathÚexistsr   ÚOSErrorÚstdoutr   ÚloggingÚWARNING)	r   Úconsoler   r   r   Úfallback_to_stdoutr   Úwriting_to_console_workedÚconsole_errors	            r   Ú	multi_logr(      sã   € ñ Ü�
‰
×Ñ˜ÔÙØ ˆØ$)Ð!Ü�7‰7�>‰>˜'Ô"ð<Ü  ¨$Ô/Ø,0Ð)ñ Ñ&?ô �J‰J×Ñ˜TÔ"Ù
Ø�‰8�tÒØ�G‰G�I˜t C R˜yÕ)à�G‰G�I˜tÕ$ð	 øô) ò <Ø A�Ü—
‘
× Ñ  M ?°"Ð!5Ô6ÙØ—G‘GœGŸO™O¨]Ô;ùð	<ús   ÁB- Â-AC?Ã>C?c                 óˆ   — t        |j                  | «      t        j                  ¬«       |rt        j                  |«       |S )züPrint error to stderr and return or exit

    @param msg: message to print
    @param rc: return code (default: 1)
    @param fmt: format string for putting message in (default: 'Error:\n {}')
    @param sys_exit: exit when called (default: false)
    )Úfile)ÚprintÚformatr   r   Úexit)r
   ÚrcÚfmtÚsys_exits       r   Úerrorr1   D   s-   € ô 
ˆ#�*‰*�S‹/¤§
¡
Õ+ÙÜ�‰�ŒØ€Ir   )é   z	Error:
{}F)r"   r   r   Úcloudinit.performancer   Ú	getLoggerÚ__name__ÚLOGr#   Úintr   r   ÚDEBUGr(   r1   © r   r   ú<module>r:      s}   ðÛ Û 	Û 
å 'à€g×Ñ˜Ó!€ð '.§o¡oÀò-Ø #ð-à	ó-ñ ÐÓñó ðð ØØØ�m‰mØó)%ôXr   