U
    .e                     @  sV   d Z ddlmZ ddlZddlmZ ddlmZ dZej	dfddZ
G d	d
 d
ZdS )zDebugging support.    )annotationsN)wraps)
get_logger)setup_logging
Logwrappedc                 C  s>   |sddgn|}|D ]$}t |}|t  ||  qdS )zSetup logging to stdout.zkombu.connectionzkombu.channelN)r   
addHandlerloggingStreamHandlersetLevel)ZloglevelloggersZlogger_namelogger r   5/tmp/pip-unpacked-wheel-48hrr5dg/kombu/utils/debug.pyr      s
    r   c                   @  s6   e Zd ZdZdZdddZdd Zdd	 Zd
d ZdS )r   z(Wrap all object methods, to log on call.)	__enter____exit__Nc                 C  s   || _ t|| _|| _d S N)instancer   r   ident)selfr   r   r   r   r   r   __init__   s    
zLogwrapped.__init__c                   s<   t j| t r|jkr" S t  fdd}|S )Nc                    s   d}j r|j j7 }| j d7 }| rD|dtt| 7 }|rp| rT|d7 }|ddd | D 7 }|d7 }j	|  | |S )N (z, c                 s  s    | ]\}}| d |V  qdS )=Nr   ).0keyvaluer   r   r   	<genexpr>2   s   z<Logwrapped.__getattr__.<locals>.__wrapped.<locals>.<genexpr>))
r   formatr   __name__joinmaprepritemsr   debug)argskwargsinfomethr   r   r   Z	__wrapped'   s    
z)Logwrapped.__getattr__.<locals>.__wrapped)getattrr   callable_Logwrapped__ignorer   )r   r   Z_Logwrapped__wrappedr   r(   r   __getattr__!   s    zLogwrapped.__getattr__c                 C  s
   t | jS r   )r"   r   r   r   r   r   __repr__:   s    zLogwrapped.__repr__c                 C  s
   t | jS r   )dirr   r.   r   r   r   __dir__=   s    zLogwrapped.__dir__)NN)	r   
__module____qualname____doc__r,   r   r-   r/   r1   r   r   r   r   r      s   
r   )r4   
__future__r   r   Z
vine.utilsr   Z	kombu.logr   __all__DEBUGr   r   r   r   r   r   <module>   s   	