HEX
Server: LiteSpeed
System: Linux us-phx-web1284.main-hosting.eu 4.18.0-553.109.1.lve.el8.x86_64 #1 SMP Thu Mar 5 20:23:46 UTC 2026 x86_64
User: u300739242 (300739242)
PHP: 8.2.30
Disabled: system, shell_exec, passthru, mysql_list_dbs, ini_alter, dl, symlink, link, chgrp, leak, popen, apache_child_terminate, virtual, mb_send_mail
Upload Files
File: //opt/alt/python37/lib/python3.7/site-packages/loguru/__pycache__/_handler.cpython-37.pyc
B

�P�eZ1�@s�ddlZddlZddlZddlZddlZddlmZddlmZddlm	Z	ddl
mZdd�Zd	d
�Z
dd�ZGd
d�de�ZGdd�d�ZdS)�N)�contextmanager)�Thread�)�	Colorizer)�create_handler_lockcCst�|�}||�|�fS)N)r�prepare_format�colorize)�format_�
ansi_level�colored�r�@/opt/alt/python37/lib/python3.7/site-packages/loguru/_handler.py�prepare_colored_format
s
rcCst�|�}|��S)N)rr�strip)r	rrrr
�prepare_stripped_formats
rcCstjdd�|�S)N�@)�maxsize)�	functools�	lru_cache)�functionrrr
�memoizesrc@seZdZdZdS)�Message)�recordN)�__name__�
__module__�__qualname__�	__slots__rrrr
rsrc@s�eZdZdd�Zdd�Zedd��Zdd�Zd	d
�Zdd�Z	d
d�Z
dd�Zedd��Z
edd��Zdd�Zdd�Zdd�ZdS)�HandlercCs�||_||_||_||_||_||_||_||_|	|_|
|_	||_
||_|
|_||_
d|_i|_d|_d|_t�|_t��|_d|_d|_d|_d|_d|_d|_|jr�|jr�tt�|_q�tt�|_n.|jr�x&|j
D]}|� |�q�Wn|j�!�|_|j�r�|j	dk�r(t"�#�|_t"�$�|_t"�%�|_n$|j	�#�|_|j	�$�|_|j	�%�|_t�|_t&�'�|_t(|j)dd|jd�|_|j�*�dS)NFTzloguru-writer-%d)�target�daemon�name)+�_name�_sink�_levelno�
_formatter�_is_formatter_dynamic�_filter�	_colorize�
_serialize�_enqueueZ_multiprocessing_context�_error_interceptor�_exception_formatter�_id�_levels_ansi_codes�_decolorized_format�_precolorized_formats�_memoize_dynamic_format�_stoppedr�_lock�	threading�local�_lock_acquired�_queue�_queue_lock�_confirmation_event�_confirmation_lock�_owner_process_pid�_threadrrr�
update_formatr�multiprocessing�SimpleQueue�Event�Lock�os�getpidr�_queued_writer�start)�selfZsinkr �levelno�	formatterZis_formatter_dynamic�filter_r�	serialize�enqueueZmultiprocessing_contextZerror_interceptorZexception_formatterZid_Zlevels_ansi_codes�
level_namerrr
�__init__ s^



zHandler.__init__cCsd|j|j|jfS)Nz(id=%d, level=%d, sink=%s))r,r#r!)rErrr
�__repr__kszHandler.__repr__c	csJt|jdd�rtd��d|j_z|j�dVWdQRXWdd|j_XdS)zNAcquire the lock, but fail fast if its already acquired by the current thread.�acquiredFa
Could not acquire internal lock because it was already in use (deadlock avoided). This likely happened because the logger was re-used inside a sink, a signal handler or a '__del__' method. This is not permitted because the logger and its handlers are not re-entrant.TN)�getattrr5�RuntimeErrorrNr2)rErrr
�_protected_locknszHandler._protected_lockc	Cs��yX|j|djkrdS|jdk	r0|�|�s0dS|jr@|�|�}|��}|dsZd|d<n4|d\}}	}
|j}|j||	|
|d�}d�|�|d<|dk	r�|j	|dkr�d}|r�|dks�|j
s�|d}
n|j|}|�|�}
�n|j�rt|j
�s|�
|�}|�|�}
np|dk�r2|j|}|�
||�\}}|�|�}
n@|j|}|�
||�\}}|j|d||d�}||d<|�|�}
n�|j
�s�|j}|�|�}
nf|dk�r�|j|}|j|}|�|�}
n<|j|}|j|}|jj|d||d�}||d<|�|�}
|j�r|�|
|�}
t|
�}||_|���4|j�r,dS|j�rB|j�|�n|j�|�WdQRXWn0tk
�r�|j���sz�|j� |�YnXdS)N�level�	exception�)�from_decorator�message)r
�colored_message)!r#�nor&r%r$�copyr+�format_exception�join�strippedr'r-rr0�
format_mapZmake_coloring_messager.r/r(�_serialize_recordrrrQr1r)r6�putr"�write�	Exceptionr*Zshould_catch�print)rEr�level_idrUZis_rawrWZdynamic_formatZformatter_record�type_�value�tbrG�lines�	formattedr
Zprecomputed_format�_Zcoloring_messageZ
str_recordrrr
�emits�
















zHandler.emitc	Csl|���Zd|_|jrT|jt��kr(dS|j�d�|j�	�t
|jd�rT|j��|j�
�WdQRXdS)NT�close)rQr1r)r:rArBr6r_r;r[�hasattrrkr"�stop)rErrr
rm�s


zHandler.stopc	Cs@|js
dS|j�&|j�d�|j��|j��WdQRXdS)NT)r)r9r6r_r8�wait�clear)rErrr
�complete_queue�s
zHandler.complete_queuec	CsF|jr|jt��krgS|jr$|jn|��}|�|j��SQRXdS)N)r)r:rArBr7rQr"�tasks_to_complete)rE�lockrrr
rq�s
zHandler.tasks_to_completecCs0|jr|jrdS|j|}|j�|�|j|<dS)N)r'r%r-r$rr/)rErcZ	ansi_coderrr
r<�s
zHandler.update_formatcCs|jS)N)r#)rErrr
rF�szHandler.levelnocCs�|d}|dk	r6|jdkrdn|jj|jt|j�d�}||d|d��d�||d|dj|djd�|d|d	j|d	j|d	j	d
�|d|d|d
|d|dj
|djd�|dj
|djd�|d|d��d�d�
d�}tj
|tdd�dS)NrS)�typere�	traceback�elapsed)�repr�seconds�extra�file)r �pathrrR)�iconr rX�linerV�moduler �process)�idr �thread�time)rv�	timestamp)
rurSrxryrrRr|rVr}r r~r�r�)�textrF)�default�ensure_ascii�
)rsrre�boolrt�
total_secondsr rzr{rXrr��json�dumps�str)r�rrSZserializablerrr
r^�s.zHandler._serialize_recordcCs�d}|j}|j}x�y|��}Wn2tk
rP|�|j�d�WdQRXwYnX|dkr\P|dkrp|j��q|�:y|j�	|�Wn"tk
r�|j�|j
�YnXWdQRXqWdS)NT)r6r7�getrar*rbr8�setr"r`r)rErV�queuerrrrr
rC"s(
zHandler._queued_writercCsL|j��}d|d<d|d<d|d<|jrHd|d<d|d<d|d<d|d<|S)Nr2r5r0r"r;Z_owner_processr7)�__dict__rYr))rE�staterrr
�__getstate__?s
zHandler.__getstate__cCsR|j�|�t�|_t��|_|jr,t�|_|j	rN|j
rDtt�|_
n
tt�|_
dS)N)r��updaterr2r3r4r5r)r7r%r'rrr0r)rEr�rrr
�__setstate__Ks
zHandler.__setstate__N)rrrrLrMrrQrjrmrprqr<�propertyrF�staticmethodr^rCr�r�rrrr
rsKU
	'r)rr�r=rAr3�
contextlibrrZ
_colorizerrZ_locks_machineryrrrrr�rrrrrr
�<module>s