
    "h                        d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ ej&                  dk\  rddlmZ nddlmZ eZ	 ee	eef   e	eef   f   Z	 eeef   Z	 ee
eef   eeeeedf   f   Z	 eeeegef   Z	 eee   eee   f   Z	 eeegdf   Z 	 e G d	 d
e             Z!e G d de             Z" G d de"e      Z#y)z
Type information used throughout *structlog*.

For now, they are considered provisional. Especially `BindableLogger` will
probably change to something more elegant.

.. versionadded:: 22.2.0
    )annotationsN)TracebackType)AnyCallableDictMappingMutableMappingOptionalProtocolTextIOTupleTypeUnionruntime_checkable)      )Self.c                      e Zd ZdZddZy)ExceptionTransformera<  
    **Protocol:** A callable that transforms an `ExcInfo` into another
    datastructure.

    The result should be something that your renderer can work with, e.g., a
    ``str`` or a JSON-serializable ``dict``.

    Used by `structlog.processors.format_exc_info()` and
    `structlog.processors.ExceptionPrettyPrinter`.

    Args:
        exc_info: Is the exception tuple to format

    Returns:
        Anything that can be rendered by the last processor in your chain, for
        example, a string or a JSON-serializable structure.

    .. versionadded:: 22.1.0
    c                     y N )selfexc_infos     M/var/www/html/sandstorm/venv/lib/python3.12/site-packages/structlog/typing.py__call__zExceptionTransformer.__call__           N)r   ExcInforeturnr   )__name__
__module____qualname____doc__r   r   r   r   r   r   i   s    ( 6r   r   c                  <    e Zd ZU dZded<   d	dZd
dZd
dZd	dZy)BindableLoggerz
    **Protocol**: Methods shared among all bound loggers and that are relied on
    by *structlog*.

    .. versionadded:: 20.2.0
    Context_contextc                     y r   r   r   
new_valuess     r   bindzBindableLogger.bind   r   r   c                     y r   r   r   keyss     r   unbindzBindableLogger.unbind   r   r   c                     y r   r   r.   s     r   
try_unbindzBindableLogger.try_unbind   r   r   c                     y r   r   r*   s     r   newzBindableLogger.new   r   r   N)r+   r   r    r   )r/   strr    r   )	r!   r"   r#   r$   __annotations__r,   r0   r2   r4   r   r   r   r&   r&      s     2-11r   r&   c                      e Zd ZdZddZddZddZddZd dZd!dZ	d"dZ
d"d	Zd"d
Zd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd"dZd#dZd#dZy)$FilteringBoundLoggera  
    **Protocol**: A `BindableLogger` that filters by a level.

    The only way to instantiate one is using `make_filtering_bound_logger`.

    .. versionadded:: 20.2.0
    .. versionadded:: 22.2.0 String interpolation using positional arguments.
    .. versionadded:: 22.2.0
       Async variants ``alog()``, ``adebug()``, ``ainfo()``, and so forth.
    .. versionchanged:: 22.3.0
       String interpolation is only attempted if positional arguments are
       passed.
    c                     y)zu
        Return a new logger with *new_values* added to the existing ones.

        .. versionadded:: 22.1.0
        Nr   r*   s     r   r,   zFilteringBoundLogger.bind   r   r   c                     y)zm
        Return a new logger with *keys* removed from the context.

        .. versionadded:: 22.1.0
        Nr   r.   s     r   r0   zFilteringBoundLogger.unbind   r   r   c                     y)zs
        Like :meth:`unbind`, but best effort: missing keys are ignored.

        .. versionadded:: 22.1.0
        Nr   r.   s     r   r2   zFilteringBoundLogger.try_unbind   r   r   c                     y)zj
        Clear context and binds *initial_values* using `bind`.

        .. versionadded:: 22.1.0
        Nr   r*   s     r   r4   zFilteringBoundLogger.new   r   r   c                     y)zd
        Check whether the logger is enabled for *level*.

        .. versionadded:: 25.1.0
        Nr   )r   levels     r   is_enabled_forz#FilteringBoundLogger.is_enabled_for   r   r   c                     y)z]
        Return the effective level of the logger.

        .. versionadded:: 25.1.0
        Nr   )r   s    r   get_effective_levelz(FilteringBoundLogger.get_effective_level   r   r   c                     y)zF
        Log ``event % args`` with **kw** at **debug** level.
        Nr   r   eventargskws       r   debugzFilteringBoundLogger.debug   r   r   c                   K   yw)zg
        Log ``event % args`` with **kw** at **debug** level.

        ..versionadded:: 22.2.0
        Nr   rC   s       r   adebugzFilteringBoundLogger.adebug           c                     yzE
        Log ``event % args`` with **kw** at **info** level.
        Nr   rC   s       r   infozFilteringBoundLogger.info   r   r   c                   K   yw)zf
        Log ``event % args`` with **kw** at **info** level.

        ..versionadded:: 22.2.0
        Nr   rC   s       r   ainfozFilteringBoundLogger.ainfo   rJ   rK   c                     yzE
        Log ``event % args`` with **kw** at **warn** level.
        Nr   rC   s       r   warningzFilteringBoundLogger.warning   r   r   c                   K   ywzf
        Log ``event % args`` with **kw** at **warn** level.

        ..versionadded:: 22.2.0
        Nr   rC   s       r   awarningzFilteringBoundLogger.awarning   rJ   rK   c                     yrR   r   rC   s       r   warnzFilteringBoundLogger.warn   r   r   c                   K   ywrU   r   rC   s       r   awarnzFilteringBoundLogger.awarn   rJ   rK   c                     yzF
        Log ``event % args`` with **kw** at **error** level.
        Nr   rC   s       r   errorzFilteringBoundLogger.error   r   r   c                   K   yw)zg
        Log ``event % args`` with **kw** at **error** level.

        ..versionadded:: 22.2.0
        Nr   rC   s       r   aerrorzFilteringBoundLogger.aerror  rJ   rK   c                     yr\   r   rC   s       r   errzFilteringBoundLogger.err  r   r   c                     yzI
        Log ``event % args`` with **kw** at **critical** level.
        Nr   rC   s       r   fatalzFilteringBoundLogger.fatal  r   r   c                   K   ywzj
        Log ``event % args`` with **kw** at **critical** level.

        ..versionadded:: 22.2.0
        Nr   rC   s       r   afatalzFilteringBoundLogger.afatal  rJ   rK   c                     y)z
        Log ``event % args`` with **kw** at **error** level and ensure that
        ``exc_info`` is set in the event dictionary.
        Nr   rC   s       r   	exceptionzFilteringBoundLogger.exception  r   r   c                   K   yw)z
        Log ``event % args`` with **kw** at **error** level and ensure that
        ``exc_info`` is set in the event dictionary.

        ..versionadded:: 22.2.0
        Nr   rC   s       r   
aexceptionzFilteringBoundLogger.aexception"  rJ   rK   c                     yrc   r   rC   s       r   criticalzFilteringBoundLogger.critical*  r   r   c                   K   ywrf   r   rC   s       r   	acriticalzFilteringBoundLogger.acritical/  rJ   rK   c                     yrM   r   rC   s       r   msgzFilteringBoundLogger.msg6  r   r   c                   K   ywrM   r   rC   s       r   amsgzFilteringBoundLogger.amsg;  rJ   rK   c                     yz>
        Log ``event % args`` with **kw** at *level*.
        Nr   r   r>   rD   rE   rF   s        r   logzFilteringBoundLogger.log@  r   r   c                   K   ywru   r   rv   s        r   alogzFilteringBoundLogger.alogE  rJ   rK   N)r+   r   r    r8   )r/   r5   r    r8   )r>   intr    bool)r    rz   )rD   r5   rE   r   rF   r   r    r   )
r>   rz   rD   r5   rE   r   rF   r   r    r   )r!   r"   r#   r$   r,   r0   r2   r4   r?   rA   rG   rI   rN   rP   rS   rV   rX   rZ   r]   r_   ra   rd   rg   ri   rk   rm   ro   rq   rs   rw   ry   r   r   r   r8   r8      s    










r   r8   )$r$   
__future__r   systypesr   typingr   r   r   r   r	   r
   r   r   r   r   r   r   version_infor   typing_extensionsWrappedLoggerr5   r'   	EventDictbytes	bytearrayProcessorReturnValue	ProcessorBaseExceptionr   ExceptionRendererr   r&   r8   r   r   r   <module>r      sY   # 
      w&  S#XS#X.
/ 38$	 CHsE9eCHo=  mS)46JJK	 ]#]H]4KK
L fg.45  68 6 60 2X 2 2&r>8 rr   