HEX
Server: Apache
System: Linux 185.122.168.184.host.secureserver.net 5.14.0-570.60.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Nov 5 05:00:59 EST 2025 x86_64
User: barbeatleanalyti (1024)
PHP: 8.1.33
Disabled: NONE
Upload Files
File: //var/opt/nydus/ops/primordial/log/__pycache__/extra.cpython-39.pyc
a

�,�hw
�@s�ddlZddlZddlmZmZmZddlmZe�	e
�ZGdd�dejd�Z
Gdd�de
�ZGd	d
�d
e
�ZGdd�de
�ZdS)
�N)�Any�Dict�Optional)�EnvelopeRolec@speZdZdZdZedd�dd�Zeedd�dd��Zedd�d	d
�Z	ee
dd�dd
�Zdeee
d�dd�Z
dS)�LogExtrazmAbstract Base Class that provides a set of methods for extraction, setting and retrieval of 'extra' log data.�extraN��kwargs�returncKsi|_|jfi|��dS�N)r�set��selfr	�r�E/opt/nydus/tmp/pip-target-wkfpz8uv/lib/python/primordial/log/extra.py�__init__szLogExtra.__init__cKsrtj}tj|vr|tj}|tjkr2tfi|��S|tjkrJtfi|��S|tjkrbtfi|��St	d|��dS)z1Factory method to create a new LogExtra instance.z
Invalid role N)
rZDEFAULT_ROLE�
ROLE_FIELD�ROLE_DEVELOPMENT�DevLogExtra�ROLE_BUSINESS_ANALYTICS�
BALogExtra�ROLE_PERFORMANCE�PerfLogExtra�
ValueError)r	�rolerrr�getLogExtras




zLogExtra.getLogExtracKs,|��D]\}}|tjur|�||�qdS)z"Set fields on a LogExtra instance.N)�itemsrr�setField)rr	�k�vrrrr%s
zLogExtra.set)�field�valuer
cCs||j|<dS)z�Set an individual field's value.

        :param field: The field to be set
        :param value: The value of the field
        N�r)rr r!rrrr+szLogExtra.setField)r r
cCs*|durd|jiS||jvr&|j|SdS)Nrr")rr rrr�get3s



zLogExtra.get)N)�__name__�
__module__�__qualname__�__doc__ZEXTRA_FIELD�strr�staticmethodrrrrrr#rrrrrsr)�	metaclasscs(eZdZdZedd��fdd�Z�ZS)rzLog extra data for development.Nrcs$t�jfi|��tj|jtj<dSr)�superrrrrrr
��	__class__rrr?szDevLogExtra.__init__�r$r%r&r'r(r�
__classcell__rrr,rr=srcs(eZdZdZedd��fdd�Z�ZS)rz&Log extra data for business analytics.Nrcs$t�jfi|��tj|jtj<dSr)r+rrrrrr
r,rrrFszBALogExtra.__init__r.rrr,rrDsrcs(eZdZdZedd��fdd�Z�ZS)rz$Log extra data for performance data.Nrcs$t�jfi|��tj|jtj<dSr)r+rrrrrr
r,rrrMszPerfLogExtra.__init__r.rrr,rrKsr)�abc�logging.config�logging�typingrrrZprimordial.log.envelopedatar�	getLoggerr$�LOG�ABCMetarrrrrrrr�<module>s
1