
    /_i~                        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
ZddZddZddZddZy)zLogging module.    )annotationsN)Finalcastz2%(asctime)s %(levelname) -7s %(name)s: %(message)sr   DEFAULT_LOG_MESSAGEzdict[str, logging.Logger]_loggersc                   t        t              }t        | t              r| j	                         } | dt
        j                  hv rt
        j                  }n| dt
        j                  hv rt
        j                  }n| dt
        j                  hv rt
        j                  }nv| dt
        j                  hv rt
        j                  }nQ| dt
        j                  hv rt
        j                  }n,d|  d}|j                  |       t        j                  d       t        j                         D ]  }|j!                          ay	)
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)levellogger	log_levelmsglogs        O/var/www/html/land_sniper/venv/lib/python3.12/site-packages/streamlit/logger.pyset_log_levelr"       s    !F%W--..$$		7GMM*	*MM		9goo.	.OO		67<<(	(LL		7GMM*	*MM	%eWA.   Y  "    c                   t        | d      r%| j                  t        d| 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_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	formatters       r!   setup_formatterr4   <   s     v23T"3V5U5UVW'.'<'<'>F$ !  **+AB,!!n5I$-I!
$$11)< f667r#   c                 L    t         j                         D ]  } t        |         y )N)r   r   r4   r    s    r!   update_formatterr7   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   r6   s    r!   init_tornado_logsr<   [   s"     4 %XcU#$%r#   c                    | t         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   r   	getLoggerr   r   	propagater4   )namer   s     r!   r   r   g   sl     x~ +/&.+&g>O>OPT>U  OO%&FFHTNMr#   )r   z	str | intreturnNone)r   logging.LoggerrB   rC   )rB   rC   )rA   r   rB   rD   )__doc__
__future__r   r   r   typingr   r   r   __annotations__r   r   r   r"   r4   r7   r<   r    r#   r!   <module>rJ      sS     "  
 Q U Q ')
# ( LL "884
	%r#   