
    8Cf                        U d dl Z d dlZd dlmZ d dlmZmZmZ d dlm	Z	 d dl
mZ ej                  dk  r G d dee      Znesd d	lmZ  ed
dddgdddgdddddgdddddgddddddej                   dddej"                  dddej                   ddddddd dddd!"      Zeeef   ed#<   	  G d$ d%e      Z G d& d'e j*                        Z e       Z e j0                  d(      Z	 ej5                  e        e j0                  d      Z	 ej5                  e        e j0                  d      Z	 ej5                  e        e j0                  d      Z	 ej5                  e       d)ed*efd+Zy),    N)Enum)TYPE_CHECKINGAnyDict)warn)is_atty)      r   c                       e Zd Zy)StrEnumN)__name__
__module____qualname__     I/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/sanic/log.pyr   r      s    r   r   )r      FINFOconsole)levelhandlerserror_consoleTsanic.error)r   r   	propagatequalnameaccess_consolesanic.accesssanic.server)
sanic.rootr   r   r   zlogging.StreamHandlergeneric)class	formatterstreamaccess)r   r   r   z5%(asctime)s [%(process)s] [%(levelname)s] %(message)sz[%Y-%m-%d %H:%M:%S %z]zlogging.Formatter)formatdatefmtr!   z^%(asctime)s - (%(name)s)[%(levelname)s][%(host)s]: %(request)s %(message)s %(status)s %(byte)s)r    r$   )versiondisable_existing_loggersloggersr   
formattersLOGGING_CONFIG_DEFAULTSc                   ,    e Zd ZdZdZdZdZdZdZdZ	dZ
y	)
Colorsz[0mz[1mz[34mz[32mz[35mz[31mz[38;2;255;13;104mz[01;33mN)r   r   r   ENDBOLDBLUEGREENPURPLEREDSANICYELLOWr   r   r   r-   r-   R   s*    
CDDEF
C#EFr   r-   c                   @    e Zd ZU dZeed<   dej                  defdZ	y)VerbosityFilterr   	verbosityrecordreturnc                 :    t        |dd      }|| j                  k  S )Nr8   r   )getattrr8   )selfr9   r8   s      r   filterzVerbosityFilter.filter`   s    FK3	DNN**r   N)
r   r   r   r8   int__annotations__logging	LogRecordboolr>   r   r   r   r7   r7   ]   s%    Is+W.. +4 +r   r7   r   messager'   c                     |rd| nd}d| d}t               r8t        j                   | }t        j                   |  t        j                   } t        || z   t               y)a  
    Add a deprecation notice

    Example when a feature is being removed. In this case, version
    should be AT LEAST next version + 2

        deprecation("Helpful message", 99.9)

    Example when a feature is deprecated but not being removed:

        deprecation("Helpful message", 0)

    :param message: The message of the notice
    :type message: str
    :param version: The version when the feature will be removed. If it is
      not being removed, then set version=0.
    :type version: float
    z v z[DEPRECATIONz] N)r   r-   r3   r5   r.   r   DeprecationWarning)rD   r'   version_displayversion_infos       r   deprecationrJ      sc    & )07)nRO!/!2"5Ly **l^4]]OG9VZZL9	!34r   ) rA   sysenumr   typingr   r   r   warningsr   sanic.helpersr   rI   strr   dictstdoutstderrr+   r@   r-   Filterr7   _verbosity_filter	getLoggerlogger	addFiltererror_loggeraccess_loggerserver_loggerfloatrJ   r   r   r   <module>r]      s    
  + +  ! j #t    +/" &YK@()%	
 )*&	
 "&	
. -"jj
 -"jj
 -!jj
& N/(
</(	
S6+ c3h 6n
W +gnn + $% 			<	(   " # w  /   ( )!!!.1   ) *!!!.1   " #5 5u 5r   