CasperSecurity

Current Path : /lib/python3/dist-packages/cloudinit/log/__pycache__/
Upload File :
Current File : //lib/python3/dist-packages/cloudinit/log/__pycache__/loggers.cpython-310.pyc

o

쑛h�@s�ddlZddlZddlZddlZddlZddlZddlZddlZddl	Z	ddlm
Z
ddlmZddl
mZdZdZejdZGdd	�d	ej�Zejdfd
d�Zdd
�Zddd�Zddd�ZGdd�dej�Zdd�Zdd�ZGdd�dej�Zdd�ZdS)�N)�defaultdict)�suppress)�DefaultDictz6%(asctime)s - %(filename)s[%(levelname)s]: %(message)s�#�c@s eZdZdZdd�Zdd�ZdS)�CustomLoggerTypez�A hack to get mypy to stop complaining about custom logging methods.

    When using deprecated or trace logging, rather than:
        LOG = logging.getLogger(__name__)
    Instead do:
        LOG = cast(CustomLoggerType, logging.getLogger(__name__))
    cO�dS�N���self�args�kwargsr
r
�7/usr/lib/python3/dist-packages/cloudinit/log/loggers.py�trace&�zCustomLoggerType.tracecOrr	r
rr
r
r�
deprecated)rzCustomLoggerType.deprecatedN)�__name__�
__module__�__qualname__�__doc__rrr
r
r
rrsrcCsN|pt�t�}t��}t�tj�}|�|�|�|�|�	|�|�|�dSr	)
�logging�	Formatter�DEFAULT_LOG_FORMAT�	getLogger�
StreamHandler�sys�stderr�setFormatter�setLevel�
addHandler)�level�	formatter�root�consoler
r
r�setup_basic_logging-s


r%c	Cs^|sdS|jD] }t|tj�r'tt��|��Wd�n1s"wYqt|j�dSr	)	�handlers�
isinstancerrr�IOError�flush�
flush_loggers�parent)r#�hr
r
rr*7s


��r*�returncCsHdd�}t�td�t�td�ttjd|t��ttjd|t��dS)z:Add DEPRECATED and TRACE log levels to the logging module.cs�fdd�}|S)Ncs(|���r|j�||fi|��dSdSr	)�isEnabledFor�_log)r�messager
r�r!r
r�log_at_levelEs
�z>define_extra_loggers.<locals>.new_logger.<locals>.log_at_levelr
)r!r2r
r1r�
new_loggerDsz(define_extra_loggers.<locals>.new_logger�
DEPRECATED�TRACErrN)r�addLevelNamer4r5�setattr�Logger)r3r
r
r�define_extra_loggersAs
r9c		Cst|si}t��}t�}|�tj�g}|�d�}|r't|t�r'|�t|��n4d|vr[|dD]+}t|t�r<|�|�q/t|t	j
j�rSdd�|D�}|�d�|��q/|�t|��q/d}|D]8}t
t��*|d7}|�d�rutj�|�szt�|�}tj�|�|�|�	Wd�dS1s�wYq_|�|�|�d	d
�}tj�d|�|r�tj�d�t�dSdS)
N�logcfg�log_cfgscSsg|]}t|��qSr
)�str)�.0�cr
r
r�
<listcomp>esz!setup_logging.<locals>.<listcomp>�
r��/�	log_basicTz0WARN: no logging configured! (tried %s configs)
zSetting up basic logging...
)rr�LogExporterr�WARN�getr'r<�append�collections�abc�Iterable�joinr�FileNotFoundError�
startswith�os�path�isfile�io�StringIO�config�
fileConfigr rr�writer%)	�cfg�root_logger�exporterr;�log_cfg�a_cfg�cfg_str�am_tried�
basic_enabledr
r
r�
setup_loggingQsH




$�
�
�r^c@sNeZdZUee�Zeeefed<de	j
fdd�Zdd�Zdd�Z
d	d
�ZdS)rD�holder�recordcCs|j|j�|���dSr	)r_�	levelnamerG�
getMessage�rr`r
r
r�emit�szLogExporter.emitcCst�|j�Sr	)�copy�deepcopyr_�rr
r
r�export_logs�szLogExporter.export_logscCstt�|_dSr	)r�listr_rgr
r
r�
clean_logs�szLogExporter.clean_logscCrr	r
rgr
r
rr)�rzLogExporter.flushN)rrrrrir_rr<�__annotations__r�	LogRecordrdrhrjr)r
r
r
rrD�s
rDcCsFt��}t|j�}|D]}|��|��|�|�q|�tj�dS)z0Remove all current handlers and unset log level.N)	rrrir&r)�close�
removeHandlerr�NOTSET)�logr&r,r
r
r�
reset_logging�s
rqcsJt�tj��t�ddd����t�d���fdd�}ttjd|�dS)z�In the event that internal logging exception occurs and logging is not
    possible for some reason, make a desperate final attempt to log to stderr
    which may ease debugging.
    �handleErrorcSrr	r
)r`r
r
r�<lambda>�sz&setup_backup_logging.<locals>.<lambda>z@FALLBACK: %(asctime)s - %(filename)s[%(levelname)s]: %(message)scs@tt����|����Wd�dS1swYdS)z;A closure that emits logs on stderr when other methods failN)rr(�handler)rc��fallback_handlerr
rrr�s


"�z)setup_backup_logging.<locals>.handleErrorN)rrrrr7rr�Handler)rrr
rur�setup_backup_logging�s��rxcs eZdZdZ�fdd�Z�ZS)�CloudInitLogRecordz�reporting the filename as __init__.py isn't very useful in logs

    if the filename is __init__.py, use the parent directory as the filename
    cs<t�j|i|��d|jkrtj�tj�|j��|_dSdS)Nz__init__.py)�super�__init__�filenamerNrO�basename�dirname�pathnamer��	__class__r
rr{�s
�zCloudInitLogRecord.__init__)rrrrr{�
__classcell__r
r
r�rry�srycCsJtjtj_t�t�t�t�}|�	tj
�t���|�t�
t�dS)z(Customize the root logger for cloud-initN)�time�gmtimerr�	converterr9rxrqrDrrErr �setLogRecordFactoryry)�handlerr
r
r�configure_root_logger�s
r�)r-Nr	) �collections.abcrHrerQr�logging.config�logging.handlersrNrr�r�
contextlibr�typingrrr4�DEBUGr5r8rr%r*r9r^rrDrqrxrlryr�r
r
r
r�<module>s2





A
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY