o
    ưi                     @   s   d dl Z d dlZd dlZd dlmZ G dd dejZdd ZedZej	sJe
 Ze r5ee  need ee eej dS dS )	    N)datetimec                   @   s   e Zd ZdddZdd ZdS )JsonFormatterNc                 C   s   t |j}| S N)r   fromtimestampcreated	isoformat)selfrecorddatefmtdt r   T/home/app/Keep/.python/lib/python3.10/site-packages/litellm_proxy_extras/_logging.py
formatTime   s   zJsonFormatter.formatTimec                 C   s8   |  |j| |d}|jr| |j|d< t|S )N)messagelevel	timestampZ
stacktrace)
getMessage	levelnamer   exc_infoformatExceptionjsondumps)r   r	   Zjson_recordr   r   r   format   s   
zJsonFormatter.formatr   )__name__
__module____qualname__r   r   r   r   r   r   r      s    
r   c               	   C   sB   zdd l } t| ddW S  ttfy    tdd dk Y S w )Nr   Z	json_logsFZ	JSON_LOGSfalsetrue)litellmgetattrImportErrorAttributeErrorosgetenvlower)r   r   r   r   _is_json_enabled   s   r%   Zlitellm_proxy_extrasz4%(asctime)s - %(name)s - %(levelname)s - %(message)s)r   loggingr"   r   	Formatterr   r%   	getLoggerloggerhandlersStreamHandlerhandlersetFormatter
addHandlersetLevelINFOr   r   r   r   <module>   s    

