HEX
Server: Apache
System: Linux a16-asgard6.hospedagemuolhost.com.br 5.14.0-570.52.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Oct 15 06:39:08 EDT 2025 x86_64
User: maoristu4c3dbd03 (1436)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //usr/lib64/python3.9/site-packages/rhsm/__pycache__/logutil.cpython-39.pyc
a

X�Zh9#�@s�UddlmZmZmZmZddlZddlZddlZddlZddl	Z	ddl
ZdZej
�ed�Zej
�ej
�e�dd��d�Zej
�ed�ZdZdaed	ed
<daeded<daeejed
<gd�ZGdd�dej�ZGdd�dej�Zeeeeejj ej!feefd�dd	�Z"Gdd�dej!e#�Z$Gdd�dej�Z%Gdd�de�&��Z'eeejj ej!feefd�dd�Z(edd�dd�Z)d%eej*j+dd �d!d"�Z,dd�d#d$�Z-dS)&�)�Optional�Tuple�Union�ListNz/var/log/rhsm/zrhsm.logZXDG_CACHE_HOMEz~/.cache�rhsmzj%(asctime)s [%(levelname)s] %(cmd_name)s:%(process)d:%(threadName)s @%(filename)s:%(lineno)d - %(message)s�RHSMLogHandler�_rhsm_log_handler�SubmanDebugHandler�_subman_debug_handler�log)Zsubscription_managerrzrhsm-appZrhsmlibZ
syspurposeZ
cloud_whatcsheZdZUdZej�ejd�Z	e
ed<d�ej�Z
e
ed<e
d��fdd�Zejed	�d
d�Z�ZS)�ContextLoggingFilterz*Find the name of the process as 'cmd_name'r�current_cmd� �cmd_line��namecst��|�dS�N��super�__init__��selfr��	__class__��2/usr/lib64/python3.9/site-packages/rhsm/logutil.pyr5szContextLoggingFilter.__init__��record�returncCs|j|_|j|_dS)NT)r
Zcmd_namer�rrrrr�filter8szContextLoggingFilter.filter)�__name__�
__module__�__qualname__�__doc__�os�path�basename�sys�argvr
�str�__annotations__�joinrr�logging�	LogRecord�boolr �
__classcell__rrrrr/s

rcs:eZdZdZedd��fdd�Zejed�dd�Z	�Z
S)	�SubmanDebugLoggingFilterzqFilter all log records unless env SUBMAN_DEBUG exists

    Used to turn on stdout logging for cli debugging.
    N)rrcs$t��|�tj�dd�dk|_dS)NZSUBMAN_DEBUG�)rrr%�environ�get�onrrrrrFsz!SubmanDebugLoggingFilter.__init__rcCs|jSr)r5rrrrr JszSubmanDebugLoggingFilter.filter)r!r"r#r$r*rr-r.r/r r0rrrrr1@sr1)�
root_log_file�
user_log_filerc
Cs�d}t��dkr|n|}z&tjtj�|�dd�tj�|�}Wn6tyt}zt�	�}|�d�}WYd}~n
d}~00|�
tdd��||fS)a1Factory for the file logging handler.

    If the subscription-manager is run as root, log location of
    /var/log/rhsm/rhsm.log is used. If it is run as non-root user,
    $XDG_CACHE_HOME (~/.cache) is used.

    If the directory is not writable, the messages will be written to stderr
    instead.
    NrT)�exist_okz3 - Further logging output will be written to stderrr2r)r%�getuid�makedirsr&�dirnamer-�handlers�RotatingFileHandler�	Exception�
StreamHandler�	addFilterr)r6r7�errZlog_file�result�excrrrrNs cs eZdZdZ�fdd�Z�ZS)r	zmLogging Handler for cli debugging.

    This handler only emits records if SUBMAN_DEBUG exists in os.environ.cs:tt|�j|i|��|�tdd��|�tdd��dS)Nr2r)rr	rr@rr1)r�args�kwargsrrrroszSubmanDebugHandler.__init__)r!r"r#r$rr0rrrrr	jscsFeZdZUdZdZeed<ed��fdd�Zej	e
d�dd	�Z�ZS)
�PyWarningsLoggingFilterz�Add a prefix to the messages from py.warnings.

    To help distinguish log messages from python and pygtk 'warnings',
    while avoiding changing the log format.zpy.warnings:�labelrcst��|�dSrrrrrrr�sz PyWarningsLoggingFilter.__init__rcCsd|j|jf|_dS)Nz%s %sT)rG�msgrrrrr �szPyWarningsLoggingFilter.filter)
r!r"r#r$rGr*r+rr-r.r/r r0rrrrrFxs
rFcs6eZdZUdZejZeed<dd��fdd�Z	�Z
S)�PyWarningsLoggerz<Logger for py.warnings for use in file based logging config.�levelN�rcs0tt|��|�|�|j�|�tdd��dS)Nzpy.warningsr)rrIr�setLevelrJr@rFrrrrr�szPyWarningsLogger.__init__)r!r"r#r$r-ZWARNINGrJ�intr+rr0rrrrrI�s
rIrKcCs.d}ts&ttt�\a}t�t�t��t|fSr)rr�LOGFILE_PATH�USER_LOGFILE_PATH�setFormatterr-�	Formatter�
LOG_FORMAT)�errorrrr�_get_default_rhsm_log_handler�s
rT)Nr	cCstst�at�t�t��tSr)r
r	rPr-rQrRrrrr�!_get_default_subman_debug_handler�srU)�configrcCs|trt�d�|dur tj��}d}tjD]V}|�d�r*|��}t	|�dkrV|�d�}t	|�dkr*|d}|j
|dd�dur*d}q*|dur�|�d	d
�}|�
|�s�d}g}tD]P}t
�|�}t�\}}|r�|�|�|�|�|�t��|�tt
|����q�|�d	�D]H\}	}
|	��}	|	�d�d
tv�r0�qt
�|	�}|�tt
|
�����qt�sbt
�t�a|D]}t�|��qfdS)z_Load logging config file and setup logging.

    Only needs to be called once per process.
    zlogging already initializedNz--logging.default_log_level��=�F)Z
print_warningr-�default_log_level�INFO�.r)rZwarningrrVZget_config_parserr(r)�
startswith�split�lenZis_log_level_validr4�ROOT_NAMESPACESr-�	getLoggerrT�appendZ
addHandlerrUrL�getattr�strip�itemsr!rS)rVrZ�argZoption_valueZpending_error_messagesZroot_namespace�loggerZrhsm_handlerrS�logger_nameZ
logging_levelZ
error_messagerrr�init_logger�sJ












ricCs t�tD]}dt�|�_q
dS)NF)rir`r-raZ	propagate)rhrrr�init_logger_for_yum�srj)N).�typingrrrrr-Zlogging.handlersZlogging.configr%r(Zrhsm.configrZLOGFILE_DIRr&r,rN�
expanduser�getenvZUSER_LOGFILE_DIRrOrRrr+r
rZLoggerr`ZFilterrr1r*r<r=r?r�objectr	rFZgetLoggerClassrIrTrUrVZRhsmConfigParserrirjrrrr�<module>s@���
�M