
    Mhq                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl	m
Z
  e
dd	
           ddlZddZ G d dej                  ZdS )zCJSON Formatter using [`msgspec`](https://github.com/jcrist/msgspec)    )annotations)Any   )core)defaults)package_is_availablemsgspecT)throw_errorNobjr   returnc                j   t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j        |           rt          j        |           S t          j	        |           S )z7msgspec default encoder function for non-standard types)
duse_exception_defaultexception_defaultuse_traceback_defaulttraceback_defaultuse_enum_defaultenum_defaultuse_type_defaulttype_defaultunknown_default)r   s    X/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/pythonjsonlogger/msgspec.pymsgspec_defaultr      s    s## ("3'''s## ("3'''# #~c"""# #~c"""S!!!    c                  2     e Zd ZdZedd fdZddZ xZS )MsgspecFormatterzzJSON formatter using [`msgspec.json.Encoder`](https://jcristharif.com/msgspec/api.html#msgspec.json.Encoder) for encoding.)json_defaultr   core.OptionalCallableOrStrr   Nonec                    t                      j        |i | t          j        |          | _        t
          j                            | j                  | _        dS )a  
        Args:
            args: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
            json_default: a function for encoding non-standard objects
            kwargs: see [BaseJsonFormatter][pythonjsonlogger.core.BaseJsonFormatter]
        )enc_hookN)	super__init__r   str_to_objectr   r	   jsonEncoder_encoder)selfr   argskwargs	__class__s       r   r#   zMsgspecFormatter.__init__+   sV     	$)&))) .|<<,,d6G,HHr   
log_recordcore.LogRecordstrc                \    | j                             |                              d          S )z(Returns a json string of the log record.utf8)r'   encodedecode)r(   r,   s     r   jsonify_log_recordz#MsgspecFormatter.jsonify_log_record=   s&    }##J//66v>>>r   )r   r   r   r   )r,   r-   r   r.   )__name__
__module____qualname____doc__r   r#   r3   __classcell__)r+   s   @r   r   r   (   sm         E  E
 4C       $? ? ? ? ? ? ? ?r   r   )r   r   r   r   )r7   
__future__r   typingr    r   r   r   utilsr   msgspec.jsonr	   r   BaseJsonFormatterr    r   r   <module>r@      s    I I
 # " " " " "      
             ' ' ' ' ' '  YD 1 1 1 1    

" 
" 
" 
"? ? ? ? ?t- ? ? ? ? ?r   