Your IP : 3.138.195.54
3
�ft`r(�@s�ddlmZddlmZddlZddlZddlZddlZddlZ ddl
Z
ddlZ
ddlZddl
Z
ddlZddlZddlZdZe
jZe
jZe
jZe
jZe
jZdZdZdZdZd d
�ZGdd�de�Zee
je
je
je
je
je
jeeeed
�Zdd�Zee
je
jd�Z dd�Z!dd�Z"d%Z#dd�Z$Gdd�de
j%j&�Z'dd�Z(dd�Z)Gdd �d e�Z*Gd!d"�d"e�Z+e j,j-j.ee j,j-j/ee j,j-j0ee j,j-j1ee j,j-j2ee j,j-j3ee j,j-j4eiZ5Gd#d$�d$e j,j-�Z6e6�Z7e j,j8j9e7�dS)&�)�absolute_import)�unicode_literalsN�d����csdd����fdd�}|S)zGMethod decorator turning the method into noop on second or later calls.c_sdS)N�)Z_argsZ_kwargsr r �/usr/lib/python3.6/logging.py�noop3szonly_once.<locals>.noopcs"�|f|�|�t|�j��dS)N)�setattr�__name__)�self�args�kwargs)�funcrr r
� swan_song5szonly_once.<locals>.swan_songr )rrr )rrr
� only_once1src@seZdZdd�Zdd�ZdS)�_MaxLevelFiltercCs
||_dS)N)� max_level)rrr r r
�__init__;sz_MaxLevelFilter.__init__cCs|j|jkrdSdS)Nr�)Zlevelnor)r�recordr r r
�filter>sz_MaxLevelFilter.filterN)r
�
__module__�__qualname__rrr r r r
r:sr)rrr�r�r�r� �
cCs(d|kodknst�tj|t�S)Nrr )�AssertionError�_VERBOSE_VAL_MAPPING�get�TRACE)�
cfg_errvalr r r
�_cfg_verbose_val2levelQsr&)rrrcCs*d|kodknst�tj|tj�S)Nrr )r!�_ERR_VAL_MAPPINGr#�logging�WARNING)r%r r r
�_cfg_err_val2level^sr*cCs|dS)Nz.gzr )�namer r r
�compression_namercsr,�icCs\t|d��>}tj|d��&}x|jt�}|s,P|j|�qWWdQRXWdQRXtj|�dS)N�rb�wb)�open�gzip�read�
CHUNK_SIZE�write�os�remove)�source�destZsfZwf�datar r r
�compression_rotatorjs
"r:cs&eZdZd �fdd� Zdd�Z�ZS)
�MultiprocessRotatingFileHandler�arNFcs.tt|�j||||||�tjjdd�|_dS)Nz /var/log/T)�superr;r�dnf�lockZbuild_log_lock�rotate_lock)r�filename�mode�maxBytes�backupCount�encodingZdelay)� __class__r r
rvs
z(MultiprocessRotatingFileHandler.__init__cCs�x�yR|j|�rD|j�*tj|j�j}|j�tj|j|�WdQRXtj j
||�dStjj
tjjfk
r~tjd�Yqtk
r�|j|�dSXqWdS)Ng{�G�z�?)ZshouldRolloverr@r5�statZbaseFilename�st_modeZ
doRollover�chmodr(ZFileHandler�emitr>�
exceptionsZProcessLockErrorZThreadLockError�timeZsleep� ExceptionZhandleError)rrrBr r r
rJ{s
z$MultiprocessRotatingFileHandler.emit)r<rrNF)r
rrrrJ�
__classcell__r r )rFr
r;usr;cCsltjj|�s,tjjtjj|��tjj|�t|||d�}t j
dd�}tj|_
|j|�|rht|_t|_|S)N)rCrDz%%(asctime)s %(levelname)s %(message)sz%Y-%m-%dT%H:%M:%S%z)r5�path�existsr>�utilZ
ensure_dir�dirnameZtouchr;r(Z FormatterrLZ localtimeZ converterZsetFormatterr:Zrotatorr,Znamer)�logfile�log_size�
log_rotate�log_compress�handlerZ formatterr r r
�_create_filehandler�s
rXcCs|jttjj�dS)N)�log�INFOr>�constZ
LOG_MARKER)Zloggerr r r
�_paint_mark�sr\c@sBeZdZdd�Zedd��Zedd��Zedd��Zd
d
d�ZdS)�LoggingcCsPd|_|_tjtd�tjtd�tjtd�tjtd�tjd�dt_ dS)N�DDEBUG�SUBDEBUGr$�ALLTF)
�stdout_handler�stderr_handlerr(ZaddLevelNamer^r_r$r`ZcaptureWarningsZraiseExceptions)rr r r
r�s
zLogging.__init__cCsttjd�}|jt�tjtj�}|jt�|jt tj
��|j|�||_tjtj
�}|jt
�|j|�||_dS)Nr>)r(� getLogger�setLevelr$Z
StreamHandler�sys�stdoutrZZ addFilterrr)�
addHandlerra�stderrrb)r�
logger_dnfrfrhr r r
� _presetup�s
zLogging._presetupcCs�tjd�}|jt�tjj|tjj �}t
||||�}|j|�|j|�tjd�} | j|�tjd�}
|
jt�tjj|tjj�}t
||||�}|
j|�t
jjj||tk�tjd�}d|_|jt�tjj|tjj�}t
||||�}|j|�dS)Nr>zpy.warnings�librepozdnf.rpmF)r(rcrdr$r5rO�joinr>r[ZLOGrXrgZLOG_LIBREPO�libdnfZrepoZ
LibrepoLogr`Z propagater_ZLOG_RPM)r�
logfile_level�logdirrTrUrVrirSrW�logger_warningsZlogger_librepo�
logger_rpmr r r
�_setup_file_loggers�s(
zLogging._setup_file_loggerscCs�|j�|j|||||�tjd�}|j|j�tjd�} | j|j�| j|j�tjd�}
|jjt�|jjt�t |
�t | �|jj|�|jj|�dS)Nzpy.warningszdnf.rpmr>)
rjrrr(rcrgrbrardr)r\)rZ
verbose_levelZerror_levelrnrorTrUrVrprqrir r r
�_setup�s
zLogging._setupFc
Csft|j�}t|j�}t|j�}|j}|j}|j}|j} |rL|j ||||| �S|j
||||||| �SdS)N)r&Z
debuglevelr*Z
errorlevelZlogfilelevelrorTrUrVrrrs)
rZconfZfile_loggers_onlyZverbose_level_rZ
error_level_rZlogfile_level_rrorTrUrVr r r
�_setup_from_dnf_conf�s
zLogging._setup_from_dnf_confN)F) r
rrrrrjrrrsrtr r r r
r]�s
r]c@seZdZdd�Zdd�ZdS)�TimercCs||_tj�|_dS)N)�whatrL�start)rrvr r r
rszTimer.__init__cCs6tj�|j}d|j|df}tjd�jt|�dS)Nztimer: %s: %d msi�r>)rLrwrvr(rcrYr^)rZdiff�msgr r r
�__call__szTimer.__call__N)r
rrrryr r r r
rusrucs$eZdZ�fdd�Zdd�Z�ZS)�LibdnfLoggerCBcs*tt|�j�tjd�|_tjd�|_dS)Nr>rk)r=rzrr(rc�_dnf_logger�_librepo_logger)r)rFr r
rszLibdnfLoggerCB.__init__cGsft|�dkr|\}}nt|�dkr.|\}}}}|tjjjkrP|jjt||�n|jjt||�dS)zoLog message.
source -- integer, defines origin (libdnf, librepo, ...) of message, 0 - unknown
rrN) �lenrm�utils�LoggerZLOG_SOURCE_LIBREPOr|rY�_LIBDNF_TO_DNF_LOGLEVEL_MAPPINGr{)rr7r�level�messagerL�pidr r r
r4s
zLibdnfLoggerCB.write)r
rrrr4rNr r )rFr
rzsrzi):Z
__future__rrZdnf.exceptionsr>Z dnf.constZdnf.lockZdnf.utilZlibdnf.repormr(Zlogging.handlersr5rerL�warningsr1Z
SUPERCRITICALZCRITICALZERRORr)rZ�DEBUGr^r_r$r`r�objectrr"r&r'r*r,r3r:ZhandlersZRotatingFileHandlerr;rXr\r]rur~rZLevel_CRITICALZLevel_ERRORZ
Level_WARNINGZLevel_NOTICEZ
Level_INFOZLevel_DEBUGZLevel_TRACEr�rzZlibdnfLoggerCBZLogZ setLoggerr r r r
�<module>sv
a
?>