o
    Yh~                     @  s   U d Z ddlmZ ddlZddlZddlmZmZ dZde	d< i Z
de	d	< ejadddZdddZdddZdddZdddZdS ) zLogging module.    )annotationsN)Finalcastz2%(asctime)s %(levelname) -7s %(name)s: %(message)sr   DEFAULT_LOG_MESSAGEzdict[str, logging.Logger]_loggerslevel	str | intreturnNonec                 C  s   t t}t| tr|  } | dtjhv rtj}n<| dtjhv r#tj}n1| dtjhv r.tj}n&| dtj	hv r9tj	}n| dtj
hv rDtj
}nd|  d}|| td t D ]}|| qX|ad	S )
zSet log level.CRITICALERRORWARNINGINFODEBUGzundefined log level ""   N)
get_logger__name__
isinstancestrupperloggingr   r   r   r   r   criticalsysexitr   valuessetLevel_global_log_level)r   logger	log_levelmsglog r"   Q/var/www/html/Persson_Maskin/env/lib/python3.10/site-packages/streamlit/logger.pyset_log_level    s&   


r$   r   logging.Loggerc                 C  sv   t | dr| td| j t | _ddlm} |jr"|	d}nt
}tj|d}d|_| j| | | j dS )	z0Set up the console formatter for a given logger.streamlit_console_handlerzlogging.Handlerr   )configzlogger.messageFormat)fmtz%s.%03dN)hasattrremoveHandlerr   r&   r   StreamHandler	streamlitr'   _config_options
get_optionr   	Formatterdefault_msec_formatsetFormatter
addHandler)r   r'   message_format	formatterr"   r"   r#   setup_formatter<   s   

r5   c                  C  s   t  D ]} t|  qd S )N)r   r   r5   r!   r"   r"   r#   update_formatterV   s   
r7   c                  C  s   dD ]	} t d|   qdS )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   r6   r"   r"   r#   init_tornado_logs[   s   r;   namer   c                 C  sP   | t v rt |  S | dkrtdnt| }|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   r   	getLoggerr   r   	propagater5   )r<   r   r"   r"   r#   r   g   s   
r   )r   r   r	   r
   )r   r%   r	   r
   )r	   r
   )r<   r   r	   r%   )__doc__
__future__r   r   r   typingr   r   r   __annotations__r   r   r   r$   r5   r7   r;   r   r"   r"   r"   r#   <module>   s   



