
    g
                     @    d dl Z d dlZd dlmZmZ d dlZ G d d      Zy)    N)datetimetimezonec                       e Zd Zd Zd Zy)GreenscaleLoggerc                     dd l }|j                  d      | _        | j                  dd| _        |j                  d      | _        y )Nr   GREENSCALE_API_KEYzapplication/json)zapi-keyzContent-TypeGREENSCALE_ENDPOINT)osgetenvgreenscale_api_keyheadersgreenscale_logging_url)selfr
   s     T/var/www/openai/venv/lib/python3.12/site-packages/litellm/integrations/greenscale.py__init__zGreenscaleLogger.__init__	   s@    "$)),@"A...
 ')ii0E&F#    c                    	 |r|j                         ni }|j                  d      |j                  di       j                  d      |j                  di       j                  d      d}t        j                  t        j
                        j                  d      |d<   t        |      t        u r3t        |      t        u r"t        ||z
  j                         dz        |d	<   g }|j                  d
i       j                  di       }	|	j                         D ]Z  \  }
}|
j                  d      s|
dk(  r||d<   #|
dk(  r||d<   .|j                  |
j                  dd      t        |      d       \ ||d<   | j                  t!        d      t"        j$                  j'                  | j                  | j(                  t+        j,                  |t                    }|j.                  dk7  r# |d|j0                   d|j.                          y  |d|j0                          y # t         $ r*} |d| dt3        j4                                 Y d }~y d }~ww xY w)Nmodelusageprompt_tokenscompletion_tokens)modelIdinputTokenCountoutputTokenCountz%Y-%m-%dT%H:%M:%SZ	timestampi  invocationLatencylitellm_paramsmetadata
greenscalegreenscale_projectprojectgreenscale_applicationapplicationgreenscale_ )keyvaluetagsz.Greenscale Logger Error - No logging URL found)default)r   data   zGreenscale Logger Error - z, zGreenscale Logger Succeeded - z, Stack trace: )
model_dumpgetr   nowr   utcstrftimetypeinttotal_secondsitems
startswithappendreplacestrr   	Exceptionlitellmmodule_level_clientpostr   jsondumpsstatus_codetext	traceback
format_exc)r   kwargsresponse_obj
start_timeend_timeprint_verboseresponse_jsonr*   r(   r   r&   r'   responsees                 r   	log_eventzGreenscaleLogger.log_event   s7   4	9EL3352M!::g.#0#4#4Wb#A#E#Eo#V$1$5$5gr$B$F$F'%D !)X\\ : C C$!D H~)d:.>(.J,/
*99;dB-()
 Dzz"2B7;;JKH&nn.
U>>,/22*/Y 88.3]+$'KKr$BSQVZX /  DL**2 PQQ2277++ZZc2 8 H
 ##s*0r(BVBVAWX  >x}}oNO 	,QCy?S?S?U>VW 		s%   D+H& .C!H& H& &	I/ IIN)__name__
__module____qualname__r   rK    r   r   r   r      s    G5r   r   )r=   rA   r   r   r:   r   rO   r   r   <module>rP      s      ' @ @r   