HEX
Server: nginx/1.30.4
System: Linux d-twindigital-web-1.host-ed.eu 4.18.0-553.141.2.el8_10.x86_64 #1 SMP Wed Jul 8 10:28:18 EDT 2026 x86_64
User: u_twindigital_html (1009)
PHP: 8.3.30
Disabled: NONE
Upload Files
File: //proc/self/root/lib/python3.6/site-packages/supervisor/__pycache__/loggers.cpython-36.pyc
3

:��]�2�@s2dZddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	Gdd�d�Z
Gdd	�d	�Zd
d�Ze�Z
dd
�ZGdd�d�ZGdd�de�ZGdd�d�ZGdd�de�ZGdd�de�ZGdd�d�ZGdd�d�ZGdd�de�Zd+dd�Zd,Zefd"d#�Zd$d%�Zd&d'�Zd-d)d*�ZdS).z�
Logger implementation loosely modeled on PEP 282.  We don't use the
PEP 282 logger implementation in the stdlib ('logging') because it's
idiosyncratic and a bit slow for our purposes (we don't use threads).
�N)�syslog)�long)�is_text_streamc@s(eZdZdZdZdZdZdZdZdZ	dS)	�LevelsByName�2�(���
��N)
�__name__�
__module__�__qualname__�CRIT�ERRO�WARN�INFO�DEBG�TRAC�BLAT�rr�/usr/lib/python3.6/loggers.pyrsrc@s6eZdZejZejZejZ	ej
ZejZ
ejZejZdS)�LevelsByDescriptionN)r
rrrr�criticalr�errorr�warnr�infor�debugr�tracer�blatherrrrrrsrcCs2i}x(tjj�D]\}}|jd�s|||<qW|S)N�_)r�__dict__�items�
startswith)Zbynumber�nameZnumberrrr�
_levelNumbers&s

r&cCstt|d�}|S)N)�getattrr)�descriptionZnumrrr�getLevelNumByDescription/sr)c@sPeZdZdZejZddd�Zdd�Zdd�Z	d	d
�Z
dd�Zd
d�Zdd�Z
dS)�Handlerz%(message)sNcCs||_d|_dS)NF)�stream�closed)�selfr+rrr�__init__7szHandler.__init__cCs
||_dS)N)�fmt)r-r/rrr�	setFormat;szHandler.setFormatcCs
||_dS)N)�level)r-r1rrr�setLevel>szHandler.setLevelcCsHy|jj�Wn4tk
rB}z|jdtjkr2�WYdd}~XnXdS)Nr)r+�flush�IOError�args�errnoZEPIPE)r-�whyrrrr3As
z
Handler.flushcCsV|jsRt|jd�rBy|jj�}Wntk
r4YnX|dkrBdS|jj�d|_dS)N�filenorT)r,�hasattrr+r8r4�close)r-�fdrrrr:Is
z
Handler.closecCs�y�|jdko,t|jt�o,|jp,|jddik}t|j�}|rF|j}n|j|j�}|rb|jd�}y|jj	|�Wn t
k
r�|jj	|�YnX|j�Wn|j�YnXdS)Nz%(message)s�exc_infozutf-8)
r/�
isinstance�msg�bytes�kwrr+�asdict�encode�write�UnicodeErrorr3�handleError)r-�recordZbinaryZ
binary_streamr>rrr�emitXs"

zHandler.emitcCs.tj�}tj|d|d|ddtj�~dS)Nr��)�sysr<�	traceback�print_exception�stderr)r-ZeirrrrEps zHandler.handleError)N)r
rrr/rrr1r.r0r2r3r:rGrErrrrr*3s
r*c@s&eZdZddd�Zdd�Zdd�ZdS)	�
StreamHandlerNcCstj||�dS)N)r*r.)r-Zstrmrrrr.vszStreamHandler.__init__cCst|jd�r|jj�dS)N�clear)r9r+rO)r-rrr�removeyszStreamHandler.removecCsdS)Nr)r-rrr�reopen}szStreamHandler.reopen)N)r
rrr.rPrQrrrrrNus
rNc@s>eZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�ZdS)�BoundIO�cCs||_||_dS)N)�maxbytes�buf)r-rTrUrrrr.�szBoundIO.__init__cCsdS)Nr)r-rrrr3�sz
BoundIO.flushcCs|j�dS)N)rO)r-rrrr:�sz
BoundIO.closecCs>t|�}t|j�||jkr,|j|d�|_|j|7_dS)N)�lenrUrT)r-�bZblenrrrrC�sz
BoundIO.writecCs|jS)N)rU)r-rrr�getvalue�szBoundIO.getvaluecCs
d|_dS)NrS)rU)r-rrrrO�sz
BoundIO.clearN)rS)	r
rrr.r3r:rCrXrOrrrrrR�s
rRc@s*eZdZdZd
dd�Zdd�Zdd�Zd	S)�FileHandlerz3File handler which supports reopening of logs.
    �abcCsvtj|�yt||�|_WnJtk
rd}z.|dkrR|jtjkrRd}t||�|_n�WYdd}~XnX||_||_dS)NrZ�wb)	r*r.�openr+�OSErrorr6ZESPIPE�baseFilename�mode)r-�filenamer_�errrr.�s
zFileHandler.__init__cCs"|j�t|j|j�|_d|_dS)NF)r:r\r^r_r+r,)r-rrrrQ�szFileHandler.reopencCsR|j�ytj|j�Wn4tk
rL}z|jdtjkr<�WYdd}~XnXdS)Nr)r:�osrPr^r]r5r6�ENOENT)r-r7rrrrP�szFileHandler.removeN)rZ)r
rr�__doc__r.rQrPrrrrrY�s
rYc@sFeZdZddd�Zdd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�Z	dS)�RotatingFileHandlerrZiir
cCs6|dkrd}tj|||�||_||_d|_d|_dS)a�
        Open the specified file and use it as the stream for logging.

        By default, the file grows indefinitely. You can specify particular
        values of maxBytes and backupCount to allow the file to rollover at
        a predetermined size.

        Rollover occurs whenever the current log file is nearly maxBytes in
        length. If backupCount is >= 1, the system will successively create
        new files with the same pathname as the base file, but with extensions
        ".1", ".2" etc. appended to it. For example, with a backupCount of 5
        and a base file name of "app.log", you would get "app.log",
        "app.log.1", "app.log.2", ... through to "app.log.5". The file being
        written to is always "app.log" - when it gets filled up, it is closed
        and renamed to "app.log.1", and if files "app.log.1", "app.log.2" etc.
        exist, then they are renamed to "app.log.2", "app.log.3" etc.
        respectively.

        If maxBytes is zero, rollover never occurs.
        rrZr
N)rYr.�maxBytes�backupCountZcounterZevery)r-r`r_rfrgrrrr.�szRotatingFileHandler.__init__cCstj||�|j�dS)z�
        Emit a record.

        Output the record to the file, catering for rollover as described
        in doRollover().
        N)rYrG�
doRollover)r-rFrrrrG�szRotatingFileHandler.emitcCs
tj|�S)N)rbrP)r-�fnrrr�_remove�szRotatingFileHandler._removecCstj||�S)N)rb�rename)r-�srcZtgtrrr�_rename�szRotatingFileHandler._renamecCstjj|�S)N)rb�path�exists)r-rirrr�_exists�szRotatingFileHandler._existscCs�|j|�rNy|j|�Wn4tk
rL}z|jdtjkr<�WYdd}~XnXy|j||�Wn4tk
r�}z|jdtjkr��WYdd}~XnXdS)Nr)rprjr]r5r6rcrm)r-�sfn�dfnr7rrr�removeAndRename�s
z#RotatingFileHandler.removeAndRenamecCs�|jdkrdS|jj�|jks"dS|jj�|jdkr�xRt|jddd�D]<}d|j|f}d|j|df}tjj	|�rJ|j
||�qJW|jd}|j
|j|�t|jd�|_dS)z<
        Do a rollover, as described in __init__().
        rNrHz%s.%dz.1r[���)rfr+�tellr:rg�ranger^rbrnrorsr\)r-�irqrrrrrrhs



zRotatingFileHandler.doRolloverNi� )rZrxr
)
r
rrr.rGrjrmrprsrhrrrrre�s

rec@seZdZdd�Zdd�ZdS)�	LogRecordcKs||_||_||_d|_dS)N)r1r>r@�dictrepr)r-r1r>r@rrrr.szLogRecord.__init__cCsx|jdkrrtj�}|t|�d}tjdtj|��}d||f}t|j}|jr^|j|j}n|j}|||d�|_|jS)Ni�z%Y-%m-%d %H:%M:%Sz%s,%03d)�message�	levelname�asctime)	rz�timerZstrftimeZ	localtime�LOG_LEVELS_BY_NUMr1r@r>)r-ZnowZmsecsZpart1r}r|r>rrrrAs


zLogRecord.asdictN)r
rrr.rArrrrrysryc@sneZdZddd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Zdd�Z	dd�Z
dd�Zdd�Zdd�Z
dd�ZdS)�LoggerNcCs*|dkrtj}||_|dkr g}||_dS)N)rrr1�handlers)r-r1r�rrrr.,szLogger.__init__cCsx|jD]}|j�qWdS)N)r�r:)r-�handlerrrrr:5szLogger.closecKs"tj|jkr|jtj|f|�dS)N)rrr1�log)r-r>r@rrrr 9szLogger.blathercKs"tj|jkr|jtj|f|�dS)N)rrr1r�)r-r>r@rrrr=szLogger.tracecKs"tj|jkr|jtj|f|�dS)N)rrr1r�)r-r>r@rrrrAszLogger.debugcKs"tj|jkr|jtj|f|�dS)N)rrr1r�)r-r>r@rrrrEszLogger.infocKs"tj|jkr|jtj|f|�dS)N)rrr1r�)r-r>r@rrrrIszLogger.warncKs"tj|jkr|jtj|f|�dS)N)rrr1r�)r-r>r@rrrrMszLogger.errorcKs"tj|jkr|jtj|f|�dS)N)rrr1r�)r-r>r@rrrrQszLogger.criticalcKs6t||f|�}x"|jD]}||jkr|j|�qWdS)N)ryr�r1rG)r-r1r>r@rFr�rrrr�Us
z
Logger.logcCs|jj|�dS)N)r��append)r-Zhdlrrrr�
addHandler[szLogger.addHandlercCst�dS)N)�NotImplementedError)r-rrrrX^szLogger.getvalue)NN)r
rrr.r:r rrrrrrr�r�rXrrrrr�+s
	r�c@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
SyslogHandlercCstj|�tdk	std��dS)NzSyslog module not present)r*r.r�AssertionError)r-rrrr.bs
zSyslogHandler.__init__cCsdS)Nr)r-rrrr:fszSyslogHandler.closecCsdS)Nr)r-rrrrQiszSyslogHandler.reopencCstj|�dS)N)r)r-r>rrr�_sysloglszSyslogHandler._syslogcCs�yt|j�}|d}x^|jd�jd�D]J}||d<|j|}y|j|�Wq$tk
rl|j|jd��Yq$Xq$WWn|j�YnXdS)Nr{�
zUTF-8)rA�rstrip�splitr/r�rDrBrE)r-rFZparamsr{�liner>rrrrGps
zSyslogHandler.emitN)r
rrr.r:rQr�rGrrrrr�as
r�cCst|�S)N)r�)r1rrr�	getLogger~sr�rH�cCs<t|�}t|�}|j|j�|j|�|j|�|j|_|S)N)rRrNr2r1r0r�rX)�loggerr/rT�ior�rrr�handle_boundIO�s

r�cCs.ttj�}|j|�|j|j�|j|�dS)N)rNrJ�stdoutr0r2r1r�)r�r/r�rrr�
handle_stdout�s

r�cCs*t�}|j|�|j|j�|j|�dS)N)r�r0r2r1r�)r�r/r�rrr�
handle_syslog�s
r�FcCsT|dkrt�}n |dkr"t|�}nt|d||�}|j|�|j|j�|j|�|S)NrF�a)r�rYrer0r2r1r�)r�r`r/ZrotatingrTZbackupsr�rrr�handle_file�s


r�)Ni )Frr)rdrbr6rJr~rKZsupervisor.compatrrrrrr&rr)r*rNrRrYreryr�r�r�Z_2MBr�r�r�r�rrrr�<module>s6		B$Z6