
    vj*                         d dl mZ d dlZd dlZd dlmZ i Z ej        d          Z	 e
 ej        d eej                                      Z ej        d                              ej                   dedfdee         de
d	efd
Zd ZdS )    N)Optionalz4%(asctime)s - %(name)s - %(levelname)s - %(message)sMODELSCOPE_LOG_LEVELnumbawlog_file	log_level	file_modec                    t                               d          d         }t          j        |          }d|_        |t
          v r4t          || ||           |j        |k    r|                    |           |S d}d}t          j
        d          ddlm}m}  |            } |            }|rI|j        j        D ]<}	t!          |	          t          j        u r|	                    t          j                   =t          j                    }
|
g}|r,| *t          j        | |          }|                    |           |D ]F}	|	                    t,                     |	                    |           |                    |	           G|r|                    |           n|                    t          j                   dt
          |<   |S )a3   Get logging logger

    Args:
        log_file: Log filename, if specified, file handler will be added to
            logger
        log_level: Logging level.
        file_mode: Specifies the mode to open the file, if filename is
            specified (if filemode is unspecified, it defaults to 'w').
    .r   FTtorchN)is_dist	is_master)__name__splitlogging	getLogger	propagateinit_loggersadd_file_handler_if_neededlevelsetLeveliutil	find_specmodelscope.utils.torch_utilsr   r   roothandlerstypeStreamHandlerERRORFileHandlerappendsetFormatter	formatter
addHandler)r   r   r	   logger_namelogger
torch_dist
is_worker0r   r   handlerstream_handlerr   file_handlers                g/lsinfo/ai/hellotax_ai/data_center/backend/venv/lib/python3.11/site-packages/modelscope/utils/logger.py
get_loggerr-      s    ..%%a(K{++FFl"""68Y	JJJ<9$$OOI&&& JJw+CCCCCCCCWYY
Y[[
 0{+ 	0 	0GG}} 555  ///*,,NH &h**8Y??%%% # #Y'''###'"""" '	""""&&& $LM    c                 d   | j         D ]}t          |t          j                  r d S  t	          j        d          ddlm}  |            }nd}|r]|]t          j        ||          }|                    t                     |
                    |           |                     |           d S d S d S )Nr   r   )r   T)r   
isinstancer   r    r   r   r   r   r"   r#   r   r$   )r&   r   r	   r   r)   r   r(   r+   s           r,   r   r   P   s    ?  gw233 	FF	 w+::::::Y[[


 (h**8Y??!!),,,i(((,'''''	( (**r.   )importlib.utilutilr   r   ostypingr   r   	Formatterr#   intgetenvstrINFOdefault_log_levelr   r   r-   r    r.   r,   <module>r<      s          				      G:< <	 C		"8##gl:K:KLLMM   '   # #GL 1 1 1 *. 1 #< <# <<< < < <~( ( ( ( (r.   