
    i                        % S SK Jr  S SKrS SKJr  S SKJrJrJrJ	r	  \(       a  S SK
Jr   " S S5      r\R                  5       rS\S'    SSS	 jjrSS
 jrg)    )annotationsN)contextmanager)TYPE_CHECKINGAnyCallableClassVar)Iteratorc                      \ rS rSr% \R
                  rS\S'   0 rS\S'   SS jr	SS jr
\SS j5       r\SSS	 jj5       r\SS
 j5       rSrg)Logger   r   _default_loggerzClassVar[dict[str, Logger]]
_instancesc                D    U R                   R                  U5      U l        g N)	__class__r   _loggerselfnames     Q/home/james-whalen/.local/lib/python3.13/site-packages/griffe/_internal/logger.py__init__Logger.__init__   s    ~~55d;    c                .    [        U R                  U5      $ r   )getattrr   r   s     r   __getattr__Logger.__getattr__   s    t||T**r   c              #     #    U R                   R                  nU R                   R                  S5         Sv   U R                   R                  U5        g! U R                   R                  U5        f = f7f)zTemporarily disable logging.d   N)r   levelsetLevel)r   	old_levels     r   disableLogger.disable    sT      LL&&	c"	-LL!!),DLL!!),s   2A5A A5A22A5c                h    XR                   ;  a  U " U5      U R                   U'   U R                   U   $ r   )r   )clsr   s     r   _getLogger._get*   s-    ~~%#&t9CNN4 ~~d##r   c                p    U R                   R                  5        H  u  p#U" U5      Ul        M     Xl        g r   )r   itemsr   r   )r&   get_logger_funcr   instances       r   _patch_loggersLogger._patch_loggers0   s2     "nn224ND.t4H 5 .r   )r   N)r   strreturnNone)r   r/   r0   r   )r0   zIterator[None]griffer   r/   r0   r   )r+   r   r0   r1   )__name__
__module____qualname____firstlineno__logging	getLoggerr   __annotations__r   r   r   r   r#   classmethodr'   r-   __static_attributes__ r   r   r   r      sc    ",,OS,.0J+0<+ - - $ $
 . .r   r   loggerc                ,    [         R                  U 5      $ )zkCreate and return a new logger instance.

Parameters:
    name: The logger name.

Returns:
    The logger.
)r   r'   )r   s    r   
get_loggerrA   ]   s     ;;tr   c                .    [         R                  U 5        g)zPatch Griffe logger and Griffe extensions' loggers.

Parameters:
    get_logger_func: A function accepting a name as parameter and returning a logger.
N)r   r-   )r+   s    r   patch_loggersrC   i   s     /*r   r2   r4   )r+   zCallable[[str], Any]r0   r1   )
__future__r   r9   
contextlibr   typingr   r   r   r   collections.abcr	   r   r'   r?   r;   rA   rC   r>   r   r   <module>rH      sI    #  % 9 9(#. #.L  D	+r   