3 \±ã@sldZdZdZdZdZdZddlZGdd „d ƒZeƒZej Z ej Z ej Z ej Z ej Z ejZd d „Zd d „ZdS)z,A simple log mechanism styled after PEP 282.ééééééNc@sPeZdZefdd„Zdd„Zdd„Zdd„Zd d „Zd d „Z d d„Z dd„Z dS)ÚLogcCs ||_dS)N)Ú threshold)Úselfr©r ú/usr/lib64/python3.6/log.pyÚ__init__sz Log.__init__c Cs®|tttttfkr"tdt|ƒƒ‚||jkrª|r8||}|tttfkrNtj }ntj }y|j d|ƒWn:t k r |j }|j|dƒj|ƒ}|j d|ƒYnX|jƒdS)Nz%s wrong log levelz%s Úbackslashreplace)ÚDEBUGÚINFOÚWARNÚERRORÚFATALÚ ValueErrorÚstrrÚsysÚstderrÚstdoutÚwriteÚUnicodeEncodeErrorÚencodingÚencodeÚdecodeÚflush)r ÚlevelÚmsgÚargsÚstreamrr r r Ú_logs zLog._logcGs|j|||ƒdS)N)r")r rrr r r r Úlog'szLog.logcGs|jt||ƒdS)N)r"r)r rr r r r Údebug*sz Log.debugcGs|jt||ƒdS)N)r"r)r rr r r r Úinfo-szLog.infocGs|jt||ƒdS)N)r"r)r rr r r r Úwarn0szLog.warncGs|jt||ƒdS)N)r"r)r rr r r r Úerror3sz Log.errorcGs|jt||ƒdS)N)r"r)r rr r r r Úfatal6sz Log.fatalN) Ú__name__Ú __module__Ú __qualname__rr r"r#r$r%r&r'r(r r r r rs rcCstj}|t_|S)N)Ú _global_logr)rÚoldr r r Ú set_thresholdAsr.cCs8|dkrttƒn"|dkr$ttƒn|dkr4ttƒdS)Nrrr)r.rrr)Úvr r r Ú set_verbosityGs   r0)Ú__doc__rrrrrrrr,r#r$r%r&r'r(r.r0r r r r Ús +