File: //lib/python3/dist-packages/uaclient/__pycache__/log.cpython-310.pyc
o
    ��g�  �                   @   s�   d dl Z d dlZd dlZd dlZd dlmZ d dlmZmZm	Z	m
Z
 d dlmZm
Z
mZmZ d dlmZ G dd� dej�ZG dd	� d	ej�ZG d
d� dej�Zdefd
d�Zdefdd�Zde	e fdd�Zdd� Zde
eef defdd�Zdd� ZdS )�    N)�OrderedDict)�Any�Dict�List�Union)�defaults�secret_manager�system�util)�UAConfigc                   @   �    e Zd ZdZdejfdd�ZdS )�RegexRedactionFilter�,A logging filter to redact confidential info�recordc                 C   s   t �t|j��|_dS �NT)r
   �redact_sensitive_logs�str�msg��selfr   � r   �./usr/lib/python3/dist-packages/uaclient/log.py�filter   s   zRegexRedactionFilter.filterN��__name__�
__module__�__qualname__�__doc__�logging�	LogRecordr   r   r   r   r   r
      �    r
   c                   @   r   )�KnownSecretRedactionFilterr   r   c                 C   s   t j�t|j��|_dS r   )r   �secrets�redact_secretsr   r   r   r   r   r   r      s   z!KnownSecretRedactionFilter.filterNr   r   r   r   r   r!      r    r!   c                   @   s0   e Zd ZdZdZdZdZdejde	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   �returnc                 C   s�   |� � |_| �|�|_i }|jr| �|j�|d<