o
    js                     @   sV   d dl Z d dlZd dlmZ e Zdd Zdd Zedd ZG d	d
 d
e j	Z
dS )    N)contextmanagerc                   C   s   t tdd S Nidentity)getattr_tlocal r   r   /root/aizidognhua/tmp/workspace/projects/ec89d86c-575f-41c9-af57-ac45cbdbf775/venv/lib/python3.10/site-packages/impacket/examples/ntlmrelayx/utils/identity_log.py_get_identity	   s   r	   c                 C   s   t td|  d S r   )setattrr   )r   r   r   r   set_identity   s   r   c                 c   s0    t  }zt|  d V  W t| d S t| w )N)r	   r   )r   prevr   r   r   identity_context   s   r   c                   @   s   e Zd ZdZdd ZdS )IdentityFilterzKInjects .identity into every LogRecord so %(identity)s works in formatters.c                 C   s"   t  }|rd| |_dS d|_dS )Nz%s ->  T)r	   r   )selfrecordr   r   r   r   filter   s
   zIdentityFilter.filterN)__name__
__module____qualname____doc__r   r   r   r   r   r      s    r   )logging	threading
contextlibr   localr   r	   r   r   Filterr   r   r   r   r   <module>   s   
	