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: //usr/lib/python3/dist-packages/uaclient/__pycache__/log.cpython-310.pyc
o

nHJe��@s�ddlZddlZddlZddlmZddlmZmZmZddl	m
Z
mZmZGdd�dej
�ZGdd�dej�Zd	efd
d�Zd	eefdd
�Zdd�ZdS)�N)�OrderedDict)�Any�Dict�List)�defaults�system�utilc@s eZdZdZdejfdd�ZdS)�RedactionFilterz,A logging filter to redact confidential info�recordcCst�t|j��|_dS)NT)r�redact_sensitive_logs�str�msg)�selfr
�r�./usr/lib/python3/dist-packages/uaclient/log.py�filter
szRedactionFilter.filterN)�__name__�
__module__�__qualname__�__doc__�logging�	LogRecordrrrrrr	
sr	c@s0eZdZdZdZdZdZdejde	fdd�Z
d	S)
�JsonArrayFormatterzYJson Array Formatter for our logging mechanism
    Custom made for Pro logging needs
    z%Y-%m-%dT%H:%M:%Sz%s.%03d)�asctime�	levelname�name�funcName�lineno�messager
�returncCs�|��|_|�|�|_i}|jr|�|j�|d<|�d�s%|jr%|j|d<|jr0|�	|j�|d<|j
�d�}|rBt|t�rB|�
|�t�}|jD]}|j
�|�}|||<qH||d<t�t|����S)N�exc_info�
stack_info�extra)�
getMessager�
formatTimerr �formatException�get�exc_textr!�formatStack�__dict__�
isinstance�dict�updater�required_fields�json�dumps�list�values)rr
�extra_message_dictr"�local_log_record�field�valuerrr�format"s,
�
�


zJsonArrayFormatter.formatN)rrrr�default_time_format�default_msec_formatr-rrrr6rrrrrs	rrcCst��dS)z/Gets the correct user log_file storage location�/ubuntu-pro.log)r�get_user_cache_dirrrrr�get_user_log_file@sr;cCsHt�d�}g}|D]}d|dtjd}tj�|�r!|�|�q	|S)z|Gets all the log files for the users in the system

    Returns a list of all user log files in their home directories.
    z/homez/home/z/.cache/r9)�os�listdirr�USER_CACHE_SUBDIR�path�isfile�append)�user_directories�	log_files�user_directory�	user_pathrrr�get_all_user_log_filesEs"
�����
�rFcCsB|�|�|�t��t��}|�t��|�|�|�|�dS)N)�setLevel�	addFilterr	r�
StreamHandler�setFormatterr�
addHandler)�	log_level�logger�console_handlerrrr�setup_journald_loggingYs

rO)r.rr<�collectionsr�typingrrr�uaclientrrr�Filterr	�	Formatterrrr;rFrOrrrr�<module>s.