
    DUf&                    \   U d dl mZ d dlZd dlZd dlmZmZmZ eed                  Zda	de
d<   i aej        ej        ej        ej        ej        ej        dZej        dej        d	ej        d
ej        d ej        dej        diZddddej        ddddf	d-d%Zd.d'Zd/d(Zd0d)Zd1d*Zd2d3d,ZdS )4    )annotationsN)IOLiteralOptional)clilibLoggingContext_logging_context)r         r   r   r   r   r   z{levelname}:{name}:{message}z%Y-%m-%d %I:%M:%S %p{Floggerlogging.LoggerstreamIO[str] | Nonefilename
str | Noneopen_kwsdict | Nonehandlerslist[logging.Handler] | Nonelevelintformatstrdatefmtstyle	propagateboolreturnNonec
                   |||t          d          n||t          d          |q|i n|}|                    dd           d|d         v rd|d<   d|d<   n,|                    dd	           |                    dd
           t          j        |fi |g}n|t          j        |          g}| j        dd         D ]+}
|                     |
           |
                                 ,t          j        |||          }|D ]3}
|
j	        |

                    |           |                     |
           4||                     |           |	| _        dS )a  
    Configure a logger for a stream or file or a custom set of handlers.

    Based on `logging.basicConfig` but works on any logger, not just the root one.

    Parameters
    ----------
    logger : :class:`logging.Logger`
        A logger.
    stream : file-like, optional
        A stream, like ``sys.stdout``.
    filename : str, optional
        Path to a file, instead of a stream.
    open_kws : dict, optionsl
        Keyword args to ``open`` if using a filename instead of a stream.
        Defaults to using mode='a' and for text streams: encoding='utf-8' and
        errors='backslashreplace'.
    handlers : sequence of logging Handlers
        Arbitrary logging handlers to register. Cannot be used with ``filename``
        or ``stream``.
    level : int, optional
        The log level.
    format : str, optional
        A format string for log records.
    datefmt : str, optional
        A format string for the ``asctime`` variable when used in log records.
    style : {"{", "$", "%"}, optional
        The templating style of the log record format string.
    propagate : bool, optional
        Whether the logger should propagate log records up to its parent.

    Notes
    -----
    Any of the logger's existing handlers will be closed and destroyed.

    For logging level values, see
    https://docs.python.org/3/howto/logging.html#logging-levels

    For a list of variables that can go into log records, see
    https://docs.python.org/3/library/logging.html#logrecord-attributes

    Nz8'stream' and 'filename' should not be specified togetherzG'stream' or 'filename' should not be specified together with 'handlers'modeabencodingerrorszutf-8backslashreplace)
ValueError
setdefaultloggingFileHandlerStreamHandlerr   removeHandlerclose	Formatter	formattersetFormatter
addHandlersetLevelr!   )r   r   r   r   r   r   r   r   r    r!   handlerr4   s               L/var/www/html/software/conda/lib/python3.11/site-packages/cooler/_logging.py	configurer:      s   l ("6WXXX!5   !)22xFC((((6"""#'HZ !%HX
G444*<==='==H==>		)&112 ?111%  W%%% !&'599I # #$  +++'"""" F    ctxc                   t          j        d          }t          | k    r| dk    r<t          |t          j        t           j        d           t          j        d           n| dk    r;t          |t          j        t           j	                   t          j        d           ne| P|j
        d d          D ]+}|                    |           |                                 ,t          j        d           nt          d	|  d
          | ad S d S )Ncoolerr   z	{message})r   r   r   Fr   )r   r   TzUnknown logging context: '')r.   	getLoggerr
   r:   sysstdoutWARNINGcaptureWarningsstderrINFOr   r1   r2   r,   )r<   r   r8   s      r9   set_logging_contextrG   ~   s    x((F3%<<sz    #E****E\\fSZw|DDDD#D))))[!?111-    $$W---#E****@#@@@AAA! r;   c                     t           S )N)r
    r;   r9   get_logging_contextrJ      s    r;   c                    t          j        d          }	 t          |          }n"# t          $ r t	          d|  d          d w xY w|                    |           d S )Nr>   z6Verbosity level must be one of: -2, -1, 0, 1, 2; got 'z'.)r.   r@   verbosity_to_loglevelKeyErrorr,   r7   )r   r   loglevels      r9   set_verbosity_levelrO      s{    x((F(/   NUNNN
 
	 OOHs	   $ Ac                 N    t          j        d          } t          | j                 S )Nr>   )r.   r@   loglevel_to_verbosityr   )r   s    r9   get_verbosity_levelrR      s    x((F ..r;   r>   c                    t           t          d           | t          vrMt          j        |           t          | <   t          |                              t          j                               t          |          S )Nr   )r
   rG   _loggersr.   r@   r6   NullHandler)names    r9   
get_loggerrW      sd     E"""8 *400 	!!'"5"7"7888D>r;   )r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r   r!   r"   r#   r$   )r<   r	   r#   r$   )r#   r	   )r   r   r#   r$   )r#   r   )r>   )r#   r   )
__future__r   r.   rA   typingr   r   r   r	   r
   __annotations__rT   NOTSETCRITICALERRORrC   rF   DEBUGrL   rQ   r:   rG   rJ   rO   rR   rW   rI   r;   r9   <module>r_      s   " " " " " " "  



 ( ( ( ( ( ( ( ( ( (',/0#'  ' ' ' ' 	|}   NBbM2OQL!M1  " -10)]! ]! ]! ]! ]!@   0      / / / /
      r;   