
    9i*                     (   S SK Jr  S SKrS SKrS SKJr  0 r\R                  " S5      r	\
" \R                  " S\" \R                  5      5      5      r\R                  " S5      R!                  \R                  5        S\S4S\\   S\
S	\4S
 jjrS rg)    N)Optionalz4%(asctime)s - %(name)s - %(levelname)s - %(message)sMODELSCOPE_LOG_LEVELnumbawlog_file	log_level	file_modec                    [         R                  S5      S   n[        R                  " U5      nSUl        U[
        ;   a/  [        X@X!5        UR                  U:w  a  UR                  U5        U$ SnSn[        R                  " S5      b  SSKJnJn  U" 5       nU" 5       nU(       aZ  UR                  R                   H@  n	[!        U	5      [        R"                  L d  M!  U	R                  [        R$                  5        MB     [        R"                  " 5       n
U
/nU(       a*  U b'  [        R&                  " X5      nUR)                  U5        U H:  n	U	R+                  [,        5        U	R                  U5        UR/                  U	5        M<     U(       a  UR                  U5        OUR                  [        R$                  5        S[
        U'   U$ )a  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torch)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                W/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/modelscope/utils/logger.py
get_loggerr-      se    ..%a(K{+FFl""6YJ<<9$OOI& JJw+CY
[
{{++GG} 5 55  / , **,NHh***8?%Y'#'" 
 	"& $LM    c                 l   U R                    H$  n[        U[        R                  5      (       d  M$    g    [        R
                  " S5      b  SSKJn  U" 5       nOSnU(       aR  UbN  [        R                  " X5      nUR                  [        5        UR                  U5        U R                  U5        g g g )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233 # w+:[

h***8?!!),i(,'	 +zr.   )importlib.utilutilr   r   ostypingr   r   	Formatterr#   intgetenvstrINFOdefault_log_levelr   r   r-   r    r.   r,   <module>r<      s      	 :<	 		"8#gll:KLM    '  # #GLL 1 *. 1 #<# <<<~(r.   