
    g                        U d Z ddlmZ ddlZddlZddlmZ dZded<   i Z	ded	<   ej                  add
ZddZddZddZddZy)zLogging module.    )annotationsN)Finalz2%(asctime)s %(levelname) -7s %(name)s: %(message)sr   DEFAULT_LOG_MESSAGEzdict[str, logging.Logger]_loggersc                   t        t              }t        | t              r| j	                         } | dk(  s| t
        j                  k(  rt
        j                  }n| dk(  s| t
        j                  k(  rt
        j                  }n| dk(  s| t
        j                  k(  rt
        j                  }n}| dk(  s| t
        j                  k(  rt
        j                  }nT| dk(  s| t
        j                  k(  rt
        j                  }n+d| z  }|j                  |       t        j                  d       t        j                         D ]  }|j!                          ay)	zSet log level.CRITICALERRORWARNINGINFODEBUGzundefined log level "%s"   N)
get_logger__name__
isinstancestrupperloggingr   r	   r
   r   r   criticalsysexitr   valuessetLevel_global_log_level)levellogger	log_levelmsglogs        E/var/www/openai/venv/lib/python3.12/site-packages/streamlit/logger.pyset_log_levelr        s    !F%
ew'7'77$$		'	Ugmm3MM		)	u7OO		&EW\\1LL		'	Ugmm3MM	(50 Y ! "    c                ~   t        | d      r| j                  | j                         t        j                         | _        ddlm} |j                  r|j                  d      }nt        }t        j                  |      }d|_        | j                  j                  |       | j                  | j                         y)z0Set up the console formatter for a given logger.streamlit_console_handlerr   )configzlogger.messageFormat)fmtz%s.%03dN)hasattrremoveHandlerr#   r   StreamHandler	streamlitr$   _config_options
get_optionr   	Formatterdefault_msec_formatsetFormatter
addHandler)r   r$   message_format	formatters       r   setup_formatterr2   <   s     v23V==>'.'<'<'>F$ !  **+AB,!!n5I$-I!
$$11)< f667r!   c                 L    t         j                         D ]  } t        |         y )N)r   r   r2   r   s    r   update_formatterr5   V   s      !r!   c                 .    dD ]  } t        d|          y)zSet Tornado log levels.

    This function does not import any Tornado code, so it's safe to call even
    when Server is not running.
    )accessapplicationgeneralztornado.N)r   r4   s    r   init_tornado_logsr:   [   s     4XcU#$ 4r!   c                   | t         j                         v r	t         |    S | dk(  rt        j                  d      }nt        j                  |       }|j	                  t
               d|_        t        |       |t         | <   |S )zReturn a logger.

    Parameters
    ----------
    name : str
        The name of the logger to use. You should just pass in __name__.

    Returns
    -------
    Logger

    rootr)   F)r   keysr   	getLoggerr   r   	propagater2   )namer   s     r   r   r   g   sn     x}}~v~"";/""4(
OO%&FFHTNMr!   )r   z	str | intreturnNone)r   logging.LoggerrA   rB   )rA   rB   )r@   r   rA   rC   )__doc__
__future__r   r   r   typingr   r   __annotations__r   r   r   r    r2   r5   r:   r    r!   r   <module>rI      sS     "  
 Q U Q ')
# ( LL "884
	%r!   