U
    9%eI                     @   s   U d dl Z d dlZd dlZd dlmZmZ d dlmZ d dlm	Z
 g Zee ed< ejdddZdeeejef d	d
dZe add Zdd ZdS )    N)ListTuple)_log_handlers__all__)returnc                  C   sN   t  \} }td| }|tj td}| | d|_||  |S )Nzc10d-za%(asctime)s %(filename)s:%(lineno)s %(levelname)s p:%(processName)s t:%(threadName)s: %(message)sF)	_get_logging_handlerlogging	getLoggersetLevelDEBUG	FormattersetFormatter	propagate
addHandler)Zlogging_handlerlog_handler_namelogger	formatter r   \/var/www/html/Darija-Ai-API/env/lib/python3.8/site-packages/torch/distributed/c10d_logger.py_get_or_create_logger   s    


r   default)destinationr   c                 C   s   t |  }t|j}||fS )N)r   type__name__)r   Zlog_handlerr   r   r   r   r   !   s    
r   c                    s   t   fdd}|S )Nc                     s   z | |W S  t k
r } zt r| j |  d| t|d t|d t  t|d | d}n j |  d| | d}t	|  W 5 d }~X Y nX d S )N, group)	func_nameargsbackend
world_sizeglobal_rank
local_rankerror)r   r   r"   )
	Exceptiondistis_initializedr   get_backendgetget_world_sizeget_rank_c10d_loggerdebug)r   kwargsr"   Zerror_msg_dictfuncr   r   wrapper,   s$    
z"_exception_logger.<locals>.wrapper	functoolswrapsr.   r/   r   r-   r   _exception_logger+   s    r4   c                    s   t   fdd}|S )Nc               
      s   t  } | |}t  }t r j |  d| t|d t|d t  t|d ||  dd}n  j |  d| ||  d}t	
| |S )Nr   r   ns)r   r   r   r   r    r!   
time_spent)r   r   r6   )timetime_nsr$   r%   r   r&   r'   r(   r)   r*   r+   )r   r,   t1Zfunc_returnt2Zmsg_dictr-   r   r   r/   G   s$    

z_time_logger.<locals>.wrapperr0   r3   r   r-   r   _time_loggerF   s    r;   )r   )r1   r   r7   typingr   r   Z"torch.distributed.logging_handlersr   Ztorch.distributeddistributedr$   r   str__annotations__Loggerr   Handlerr   r*   r4   r;   r   r   r   r   <module>	   s    