x[hi ddlZddlZddlZddlmZej eZejddde ddfdZ edd Z dddejdfd Z d d Zy) N)timedT) log_levelexc_inforreturncX|j||g||j|g|d|iy)Nr)logdebug)rmsgrrargss 8/usr/lib/python3/dist-packages/cloudinit/log/log_util.pylogexcr s1 CGGIs"T" CIIc,t,H,zWriting to consolect|d5}|j||jdddy#1swYyxYw)Nw)openwriteflush)conpathtextwfhs r write_to_consolers7 gs s $ s "8Ac|rtjj||rUd}d}tjj |r t ||d}|r!|stjj||r1|ddk(r|j||ddy|j||yy#t$rId}tjj|d|r |jtj|YwxYw)Nz /dev/consoleFTzFailed to write to /dev/console ) sysstderrrospathexistsrOSErrorstdoutrloggingWARNING) rconsolerrrfallback_to_stdoutrwriting_to_console_worked console_errors r multi_logr(s  $)! 77>>' " < $/,0) &? JJ  T " 8t  GGItCRy ) GGIt $  ) < A    M?"!56GGGOO];  C?ct|j|tj|rtj||S)zPrint 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)printformatrrexit)r rcfmtsys_exits r errorr1Ds- #**S/ +  Ir)z Error: {}F)r"rrcloudinit.performancer getLogger__name__LOGr#intr rDEBUGr(r1rr r:s} 'g!'.oo- #- -   mm )%X r