o
    Þ­j¡	  ã                   @   s~   d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	 G dd„ de	ƒZ
deeef fd	d
„Ze  e¡Zdefdd„ZdS )é    N)ÚAny)ÚRichToolkitÚRichToolkitTheme)ÚTaggedStyle)ÚDefaultFormatterc                       s>   e Zd Zdededdf‡ fdd„Zdejdefdd	„Z‡  Z	S )
ÚCustomFormatterÚargsÚkwargsÚreturnNc                    s   t ƒ j|i |¤Ž tƒ | _d S )N)ÚsuperÚ__init__Úget_rich_toolkitÚtoolkit)Úselfr   r	   ©Ú	__class__© úR/var/www/html/CropPilot/venv/lib/python3.10/site-packages/fastapi_cli/utils/cli.pyr   
   s   zCustomFormatter.__init__Úrecordc                 C   s.   |  ¡ }| jj||jd�}|dkrd| }|S )N)ÚtagzShutting downÚ
)Ú
getMessager   Úprint_as_stringÚ	levelname)r   r   ÚmessageÚresultr   r   r   ÚformatMessage   s
   zCustomFormatter.formatMessage)
Ú__name__Ú
__module__Ú__qualname__r   r   ÚloggingÚ	LogRecordÚstrr   Ú__classcell__r   r   r   r   r   	   s    r   r
   c                
   C   sX   ddt dd dœt ddœdœdd	d
dœdd	ddœdœdgddœddidgdddœdœdœS )Né   Fz%(levelprefix)s %(message)s)ú()ÚfmtÚ
use_colorszD%(levelprefix)s %(client_addr)s - '%(request_line)s' %(status_code)s)r%   r&   )ÚdefaultÚaccessr(   zlogging.StreamHandlerzext://sys.stderr)Ú	formatterÚclassÚstreamr)   zext://sys.stdoutÚINFO)ÚhandlersÚlevelr/   )r.   r/   Ú	propagate)Úuvicornzuvicorn.errorzuvicorn.access)ÚversionÚdisable_existing_loggersÚ
formattersr.   Úloggers)r   r   r   r   r   Úget_uvicorn_log_config   s6   ýþúýýú
ýýær6   c                  C   s0   t tdd�dddddddd	d
dœ	d�} t| d�S )Né   )Ú	tag_widthzwhite on #009485zwhite on #007166Úgrey85Úwhitez#007166z
on #007166Úredzblack on blue)	z	tag.titler   ÚplaceholderÚtextÚselectedr   ÚprogressÚerrorzlog.info)ÚstyleÚtheme©rB   )r   r   r   rC   r   r   r   r   A   s   ÷þ
r   )r    Útypingr   Úrich_toolkitr   r   Úrich_toolkit.stylesr   Úuvicorn.loggingr   r   Údictr"   r6   Ú	getLoggerr   Úloggerr   r   r   r   r   Ú<module>   s    
'