HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux spn-python 5.15.0-89-generic #99-Ubuntu SMP Mon Oct 30 20:42:41 UTC 2023 x86_64
User: arjun (1000)
PHP: 8.1.2-1ubuntu2.20
Disabled: NONE
Upload Files
File: //home/arjun/projects/env/lib/python3.10/site-packages/celery/app/__pycache__/log.cpython-310.pyc
o

-wek#�@s�dZddlZddlZddlZddlZddlmZddlmZddl	m
Z
ddlmZddl
mZmZddlmZdd	lmZmZmZmZmZmZdd
lmZddlmZdZej�d
d�Z Gdd�de�Z!Gdd�d�Z"dS)z�Logging configuration.

The Celery instances logging section: ``Celery.log``.

Sets up logging for the worker and other programs,
redirects standard outs, colors log output, patches logging
related compatibility fixes, and so on.
�N)�WatchedFileHandler)�set_default_encoding_file)�signals)�get_current_task)�CDeprecationWarning�CPendingDeprecationWarning)�class_property)�ColorFormatter�LoggingProxy�
get_logger�get_multiprocessing_logger�mlevel�reset_multiprocessing_logger)�node_format)�colored)�
TaskFormatter�Logging�MP_LOGFcs eZdZdZ�fdd�Z�ZS)rz1Formatter for tasks, adding the task name and id.csPt�}|r|jr|jj|jj|jd�n|j�dd�|j�dd�t��|�S)N)�task_id�	task_namerz???r)	r�request�__dict__�update�id�name�
setdefault�super�format)�self�record�task��	__class__��G/home/arjun/projects/env/lib/python3.10/site-packages/celery/app/log.pyr"s
�zTaskFormatter.format)�__name__�
__module__�__qualname__�__doc__r�
__classcell__r#r#r!r$rsrc@s�eZdZdZdZdd�Z		d'dd�Zd(d
d�Z		d)dd
�Zdd�Z			d*dd�Z
		d+dd�Zd,dd�Zd,dd�Z
efdd�Zd-dd�Zdd�Zdd �Zd.d"d#�Zed$d%��Zejd&d%��ZdS)/rz$Application logging setup (app.log).FcCs:||_ttj�|_|jjj|_|jjj|_	|jjj
|_dS�N)�appr
�logging�WARN�loglevel�conf�worker_log_formatr�worker_task_log_format�task_format�worker_log_color�colorize)rr+r#r#r$�__init__5s
zLogging.__init__N�WARNINGcCs~t|�}|j||||d�}|s|r|�|�tjj|rt|�nd|r&t|�ndd�tjdt	d�tjdt
d�t�d�|S)N)r4�hostname�)�CELERY_LOG_LEVEL�CELERY_LOG_FILE�always)�categoryT)
r
�setup_logging_subsystem�redirect_stdouts�os�environr�str�warnings�filterwarningsrrr,�captureWarnings)rr.�logfiler>�redirect_levelr4r7�handledr#r#r$�setup<s�
�
z
Logging.setup�celery.redirectedcCs.|jt|�|d�tjjdt|pd�d�dS)N)r.�1r8)�CELERY_LOG_REDIRECT�CELERY_LOG_REDIRECT_LEVEL)�redirect_stdouts_to_loggerrr?r@rrA)rr.rr#r#r$r>Ms�

�zLogging.redirect_stdoutsc	Ksd|jrdS|r|rt||�}dt_t|p|j�}|p|j}|�||�}t�t	j
jd||||d�}|s�t�
�}|jjjrNg|_gtd�_gtd�_gtd�_|j|||||fi|��|jt�|trd|ntj||fi|��t	jjd|||||d�|j|||d�z
t�
�jdj}	Wnttfy�Ynwt|	�t|t�r�|nd	}
tj j!t|�|
|d
�|S)NT)�senderr.rErr4�celery�celery.taskrI�rN�loggerr.rErr4)r4rr8)�_MP_FORK_LOGLEVEL_�_MP_FORK_LOGFILE_�_MP_FORK_LOGFORMAT_)"�
already_setuprr�_setupr
r.r�supports_colorrr�
setup_logging�sendr,�	getLoggerr+r/�worker_hijack_root_logger�handlersr�_configure_loggerrr�ERROR�after_setup_logger�setup_task_loggers�stream�AttributeError�
IndexErrorr�
isinstancerAr?r@r)rr.rErr4r7�kwargs�	receivers�rootrb�logfile_namer#r#r$r=Vsd

�




�������zLogging.setup_logging_subsystemcKs:|dur|j||||fi|��|r|�|�dSdSdSr*)�setup_handlers�setLevel)rrRrEr.rr4rfr#r#r$r^�s
���zLogging._configure_loggercKstt|p|j�}|p|j}|�||�}|jtd�|||fdti|��}|�|�t|�|_	t
jjd|||||d�|S)z�Setup the task logger.

        If `logfile` is not specified, then `sys.stderr` is used.

        Will return the base task logger object.
        rP�	formatterNrQ)
r
r.r2rXrjrrrk�int�	propagater�after_setup_task_loggerrZ)rr.rErr4rnrfrRr#r#r$ra�s&
���

�zLogging.setup_task_loggersTcCs"t||�}|r
|t_|r|t_|S)aRedirect :class:`sys.stdout` and :class:`sys.stderr` to logger.

        Arguments:
            logger (logging.Logger): Logger instance to redirect to.
            loglevel (int, str): The loglevel redirected message
                will be logged as.
        )r
�sys�stdout�stderr)rrRr.rqrr�proxyr#r#r$rM�s
	z"Logging.redirect_stdouts_to_loggercCs@|dur|jn|}|jjrdS|s|dur|duotj��S|S)NF)r4r+�
IS_WINDOWSrprr�isatty)rr4rEr#r#r$rX�szLogging.supports_colorcCst|�||�d�S)N)�enabled)rrX)rrErvr#r#r$r�szLogging.coloredcKs8|�|�r|S|�|�}|�|||d��|�|�|S)N)�	use_color)�_is_configured�_detect_handler�setFormatter�
addHandler)rrRrErr4rlrf�handlerr#r#r$rj�s


zLogging.setup_handlerscCs2|durtjn|}t|d�rt�|�St|dd�S)z@Create handler from filename, an open stream or `None` (stderr).N�writezutf-8)�encoding)rp�
__stderr__�hasattrr,�
StreamHandlerr)rrEr#r#r$ry�s

zLogging._detect_handlercCstdd�|jpgD��S)Ncss�|]
}t|tj�VqdSr*)rer,�NullHandler)�.0�hr#r#r$�	<genexpr>�s
��
�z'Logging._has_handler.<locals>.<genexpr>)�anyr]�rrRr#r#r$�_has_handler�s�zLogging._has_handlercCs|�|�ot|dd�S)N�_rudimentary_setupF)r��getattrr�r#r#r$rx�s�zLogging._is_configuredrOcKst|�Sr*)r)rrrfr#r#r$�get_default_logger�szLogging.get_default_loggercCs|jSr*�rW)rr#r#r$rV�szLogging.already_setupcCs
||_dSr*r�)r�	was_setupr#r#r$rV�s
)NNFr6NN)NrI)NNNNN)NNNNF)NTT)NNr*)rO)r%r&r'r(rWr5rHr>r=r^rarMrXrr	rjryr�rxr�rrV�setterr#r#r#r$r-s<
�
	
�=
�
�


�
	

r)#r(r,r?rprB�logging.handlersr�kombu.utils.encodingrrOr�
celery._stater�celery.exceptionsrr�celery.localr�celery.utils.logr	r
rrr
r�celery.utils.nodenamesr�celery.utils.termr�__all__r@�getrrrr#r#r#r$�<module>s$