HEX
Server: LiteSpeed
System: Linux kapuas.iixcp.rumahweb.net 5.14.0-427.42.1.el9_4.x86_64 #1 SMP PREEMPT_DYNAMIC Fri Nov 1 14:58:02 EDT 2024 x86_64
User: mirz4654 (1666)
PHP: 8.1.33
Disabled: system,exec,escapeshellarg,escapeshellcmd,passthru,proc_close,proc_get_status,proc_nice,proc_open,proc_terminate,shell_exec,popen,pclose,dl,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setsid,posix_setuid,posix_setpgid,ini_alter,show_source,define_syslog_variables,symlink,syslog,openlog,openlog,closelog,ocinumcols,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dll,ftp,myshellexec,socket_bind,mail,posix_getwpuid
Upload Files
File: //usr/local/lib/python3.9/site-packages/celery/utils/__pycache__/log.cpython-39.pyc
a

X>h4"�@sJdZddlZddlZddlZddlZddlZddlZddlmZddl	m
Z
mZddlm
Z
ddlmZddlmZdd	lmZd
ZdZdaej�dd�Zd
dhZed
�ZZdd�Zdd�Zedd��Zd-dd�Z dd�Z!dd�Zed�Z"ed�Z#dd�Z$dd �Z%Gd!d"�d"ej&�Z'Gd#d$�d$�Z(d%d&�Z)d'd(�Z*d)d*�Z+d.d+d,�Z,dS)/zLogging utilities.�N)�contextmanager)�AnyStr�Sequence)�
LOG_LEVELS)�
get_logger)�safe_str�)�colored)�ColorFormatter�LoggingProxy�base_logger�set_in_sighandler�
in_sighandlerr�get_task_logger�mlevel�get_multiprocessing_logger�reset_multiprocessing_loggerrF�MP_LOGZceleryzcelery.taskcCs|adS)z7Set flag signifying that we're inside a signal handler.N)�_in_sighandler)�value�r�:/usr/local/lib/python3.9/site-packages/celery/utils/log.pyr
'sr
c
cs�t�}ttjjj���t�d�g}|D]Z}zB|jD]6}z||vrT|j	V|�
|�Wq4tyhYq40q4Wq(ty�Yq(0q(dS�N)�set�list�logging�Logger�manager�
loggerDict�values�	getLogger�handlers�stream�add�AttributeError)�seen�loggers�l�handlerrrr�iter_open_logger_fds-s
�
r)ccs*td�zdVWtd�n
td�0dS)z5Context that records that we are in a signal handler.TNF)r
rrrrr>sr��cCsl|t�}}t|�D]D}||kr&dS||vr@td|j�d���|�|�|j}|sqhqtd|����dS)NTzLogger z parents recursivezLogger hierarchy exceeds F)r�range�RuntimeError�namer#�parent)r'�p�max�thisr%�_rrr�
logger_isaHs�
r3cCst||�s||_|Sr)r3r.)Z
parent_loggerZlogger_rrr�_using_logger_parent[s
r4cCs.t|�}tj||jfvr*|tur*tt|�}|S)zGet logger by name.)�_get_loggerr�rootr.rr4)r-r'rrrras
rz
celery.workercCs&|tvrtd|�d���ttt|��S)z#Get logger for task module by name.zLogger name z
 is reserved!)�RESERVED_LOGGER_NAMESr,r4�task_loggerr)r-rrrrmsrcCs |rt|tj�st|��S|S)z$Convert level name/int to log level.)�
isinstance�numbers�Integralr�upper)�levelrrrrtsrcs`eZdZdZe�jZededededd�Zd�fd	d
�	Z�fdd�Z	�fd
d�Z
�ZS)r
z5Logging formatter that adds colors based on severity.�blue�yellow�red�magenta)�DEBUG�WARNING�ERROR�CRITICALNTcst��|�||_dSr)�super�__init__�	use_color)�self�fmtrH��	__class__rrrG�szColorFormatter.__init__cs&|rt|t�st��}t��|�}|Sr)r9�tuple�sys�exc_inforF�formatException)rI�ei�rrKrrrP�szColorFormatter.formatExceptioncs"t��|�}|j�|j�}|jdkr,t��n|j}|�r|j�rzPz.t|t	�rbt	|t
|���WWSt
||��WWSty�t
|�YWS0Wn�t�y}zh|j
dd�t|�|�}|_|_
z(t��|�W|||_
|_WYd}~S|||_
|_0WYd}~n
d}~00nt
|�SdS)Nrz<Unrepresentable {!r}: {!r}>)rF�format�colors�get�	levelnamerOrNrHr9�strr�UnicodeDecodeError�	Exception�msg�type)rI�recordrZ�colorZeinfo�excZprev_msgrKrrrS�s,

���(zColorFormatter.format)NT)�__name__�
__module__�__qualname__�__doc__r	�names�COLORSrTrGrPrS�
__classcell__rrrKrr
{s�r
c@sdeZdZdZdZdZdZejZ	e
��Zddd�Z
dd�Zd	d
�Zdd�Zd
d�Zdd�Zdd�ZdS)rz�Forward file object to :class:`logging.Logger` instance.

    Arguments:
        logger (~logging.Logger): Logger instance to forward to.
        loglevel (int, str): Log level to use when logging messages.
    �wNFcCs*||_t|p|jjp|j�|_|��dSr)�loggerrr=�loglevel�_safewrap_handlers)rIrgrhrrrrG�szLoggingProxy.__init__csdd���fdd�|jjD�S)NcSs Gdd�dtj�}|�j|_dS)Nc@seZdZdd�ZdS)zRLoggingProxy._safewrap_handlers.<locals>.wrap_handler.<locals>.WithSafeHandleErrorcSs*zt�dtj�Wnty$Yn0dSr)�	traceback�	print_excrN�
__stderr__�OSError)rIr\rrr�handleError�sz^LoggingProxy._safewrap_handlers.<locals>.wrap_handler.<locals>.WithSafeHandleError.handleErrorN)r_r`rarnrrrr�WithSafeHandleError�sro)r�Handlerrn)r(rorrr�wrap_handler�sz5LoggingProxy._safewrap_handlers.<locals>.wrap_handlercsg|]}�|��qSrr)�.0�h�rqrr�
<listcomp>��z3LoggingProxy._safewrap_handlers.<locals>.<listcomp>)rgr!�rIrrtrri�szLoggingProxy._safewrap_handlerscCs�tr"t|�}t|tjd�t|�St|jdd�r4dS|r�|js�d|j_	z@t|��
d�}|r||j�|j
|�t|�Wd|j_	SWd|j_	n
d|j_	0dS)z Write message to logging object.)�file�recurse_protectionFrT�
)rr�printrNrl�len�getattr�_thread�closedry�rstriprg�logrh)rI�dataZ	safe_datarrr�write�s"
�zLoggingProxy.writecCs|D]}|�|�qdS)z�Write list of strings to file.

        The sequence can be any iterable object producing strings.
        This is equivalent to calling :meth:`write` for each string.
        N)r�)rI�sequence�partrrr�
writelines�szLoggingProxy.writelinescCsdSrrrwrrr�flush�szLoggingProxy.flushcCs
d|_dS)NT)rrwrrr�close�szLoggingProxy.closecCsdS)zHere for file support.Frrwrrr�isattyszLoggingProxy.isatty)N)r_r`rarb�moder-rrrDrh�	threading�localr~rGrir�r�r�r�r�rrrrr�s

rcCs0zddlm}Wnty"Yn
0|��SdS)z"Return the multiprocessing logger.r��utilN)�billiardr��ImportErrorrr�rrrrs
rcCs8zddlm}Wnty"Yn0t|d�r4d|_dS)z$Reset multiprocessing logging setup.rr��_loggerN)r�r�r��hasattrr�r�rrrrs
rcCs0zddlm}Wnty"Yn
0|��SdS)Nr��process)r�r�r��current_processr�rrrr�s
r�cCs"tt�dd�}|dur||S|S)N�index)r}r�)�baser�rrr�current_process_index%sr�)r*)r)-rbrr:�osrNr�rj�
contextlibr�typingrrZ	kombu.logrrr5Zkombu.utils.encodingrZtermr	�__all__Z_process_awarer�environrUrr7rrgr
r)rr3r4r8Z
worker_loggerrr�	Formatterr
rrrr�r�rrrr�<module>sF
	
7U