Ñò ¾[c @sdZddkZddkZddkZddkZddkZdZdZdZdZ dZ dZ ei ed ƒei ed ƒei ed ƒei e d ƒei e d ƒei e dƒdZ ee_ddklZdaheid6eid6eid6eid6eid6eid6eid6eid6eid6eid6eid6eid6ei d6ei!d6ei"d6ei#d 6ei$d!6Z%d"„Z&d#„Z'd$„Z(d%„Z)d&„Z*d'„Z+ea,ddd(d)„Z-dd*„Z.d+„Z/dS(,sY Custom logging levels for finer-grained logging using python's standard logging module. iÿÿÿÿNiii iiitINFO_1tINFO_2tDEBUG_1tDEBUG_2tDEBUG_3tDEBUG_4id(t SysLogHandlertKERNtUSERtMAILtDAEMONtAUTHtLPRtNEWStUUCPtCRONtLOCAL0tLOCAL1tLOCAL2tLOCAL3tLOCAL4tLOCAL5tLOCAL6tLOCAL7cCs‚t|ƒtjo|S|iƒtjot|iƒS|iƒidƒo*|diƒtjot|diƒStdS(NtLOG_iR(ttypetinttuppert_syslog_facility_mapt startswith(tfacility((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pytsyslogFacilityMapGscCs8htd6tid6tid6tid6}t||ƒS(s< Convert an old-style error logging level to the new style. iÿÿÿÿiii(t __NO_LOGGINGtloggingtCRITICALtERRORtWARNINGt__convertLevel(t error_levelt error_table((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pytlogLevelFromErrorLevelQs cCsXh td6tid6td6td6tid6td6td6td6t d 6}t ||ƒS( s< Convert an old-style debug logging level to the new style. iÿÿÿÿiiiiiiii( R R!tINFORRtDEBUGRRRRR%(t debug_levelt debug_table((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pytlogLevelFromDebugLevelXs")cCsey||}WnPtj oD|iƒ}||djo||d}qa||d}nX|S(s2 Convert yum logging levels using a lookup table. iiþÿÿÿ(tKeyErrortkeys(tlevelttablet new_levelR/((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pyR%_s cCs&t|ƒ}tidƒi|ƒdS(Ns yum.verbose(R-R!t getLoggertsetLevel(R0tconverted_level((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pyt setDebugLevelps cCs&t|ƒ}tidƒi|ƒdS(Ntyum(R(R!R3R4(R0R5((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pyt setErrorLevelts s/dev/logc Cs5to;|dj ot|ƒn|dj ot|ƒndStidƒ}titiƒ}|i |ƒti dƒ}t |_ |i |ƒtitiƒ}|i |ƒti dƒ} t | _ | i |ƒti dƒ} | itiƒt | _ |oíd} d|jo0|iddƒ} | dt| dƒf} ntii|ƒo |} n| o‚y,t|pd ƒ} tii| | ƒaWn1tij o"tdj otiƒqíqñXt|pdƒ| i tƒqõnta|dj ot|ƒn|dj ot|ƒndS( s; Configure the python logger. errorlevel is optional. If provided, it will override the logging level provided in the logging config file for error messages. debuglevel is optional. If provided, it will override the logging level provided in the logging config file for debug messages. Ns %(message)ss yum.verboseR7syum.fileloggingt:iiR(t_added_handlerstNoneR6R8R!t Formattert StreamHandlertsyststdoutt setFormatterR3tFalset propagatet addHandlertstderrR4R)trsplitRtostpathtexistsRthandlersRtsyslogtsocketterrortcloset setLoggingApptTrue( t debuglevelt errorlevelt syslog_identtsyslog_facilityt syslog_devicetplainformattertconsole_stdouttverbosetconsole_stderrtloggert fileloggertaddresstfacil((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pytdoLoggingSetupysR              cs8|djo'yôtii|ƒ}tii|ƒpti|ddƒntii|ƒp-t|dƒ}ti|dƒ|iƒnti dƒ‰ti |ƒ‰ti ddƒ}ˆi |ƒˆi ˆƒ|dj o|i‡‡fd †ƒnWq4tj o ti d ƒid |ƒq4XndS( Nitmodeiítwi€syum.fileloggings%(asctime)s %(message)ss%b %d %H:%M:%Scs ˆiˆƒS((t removeHandler((t filehandlerRZ(s5/usr/lib/python2.6/site-packages/yum/logginglevels.pytÔsR7sCannot open logfile %s(RFRGtdirnameRHtmakedirstopentchmodRMR!R3t FileHandlerR<R@RCR;tappendtIOErrortcritical(tuidtlogfiletcleanuptlogdirtft formatter((RZRas5/usr/lib/python2.6/site-packages/yum/logginglevels.pyt setFileLog½s&      !cCs/to$ti|dƒ}ti|ƒndS(Ns[%(process)d]: %(message)s(RJR!R<R@(tapptsyslogformatter((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pyRNØs(0t__doc__RFRKR>R!tlogging.handlersRRRRRRt addLevelNameR RAtraiseExceptionsRt syslog_moduleR;RJtLOG_KERNtLOG_USERtLOG_MAILt LOG_DAEMONtLOG_AUTHtLOG_LPRtLOG_NEWStLOG_UUCPtLOG_CRONt LOG_LOCAL0t LOG_LOCAL1t LOG_LOCAL2t LOG_LOCAL3t LOG_LOCAL4t LOG_LOCAL5t LOG_LOCAL6t LOG_LOCAL7RRR(R-R%R6R8R:R]RqRN(((s5/usr/lib/python2.6/site-packages/yum/logginglevels.pytsb                             B