+
    i"                    X  a  0 t $ R t^ RIHt ^ RIt^ RIt^ RIHt ^ RIHt ^ RIH	t	 ^ RIH
t
 ^ RIHt ^ RIHt ^ R	IHt ^R
IHt ^RIHt ^RIHt ]'       d   Rt]'       d   ^M^tMRt^ t]! RRR7      t]R]]R,          3,          t]P0                  ! R4      t]P4                  ]P6                  8X  d   ]P9                  ]P:                  4       R R lt]! 4       t R]!R&   R R lt"R R lt#]]PH                  R3,          t% ! R R4      t& ! R R4      t'R#R R  llt( ! R! R"4      t)R# )$a  Logging control and utilities.

Control of logging for SA can be performed from the regular python logging
module.  The regular dotted module namespace is used, starting at
'sqlalchemy'.  For class-level logging, the class name is appended.

The "echo" keyword parameter, available on SQLA :class:`_engine.Engine`
and :class:`_pool.Pool` objects, corresponds to a logger specific to that
instance only.

)annotationsN)Any)Optional)overload)Set)Type)TypeVar)Union)py311)py38)LiteralTF_IT
Identified)bounddebug
sqlalchemyc                    V ^8  d   QhRRRR/# )   loggerzlogging.LoggerreturnNone )formats   "wC:\Users\petid\OneDrive\Desktop\Maestro\MAESTRO CLAUDE\MAESTRO\maestro-backend\venv\Lib\site-packages\sqlalchemy\log.py__annotate__r   :   s       D     c                    \         P                  ! \        P                  4      pVP	                  \         P
                  ! R 4      4       V P                  V4       R# )z.%(asctime)s %(levelname)s %(name)s %(message)sN)loggingStreamHandlersysstdoutsetFormatter	Formatter
addHandler)r   handlers   & r   _add_default_handlerr%   :   sC    ##CJJ/GJK gr   zSet[Type[Identified]]_logged_classesc                    V ^8  d   QhRRRR/# )r   clsType[Identified]r   strr   )r   s   "r   r   r   E   s      #3  r   c                t    \        V R R4      ;'       g%    V P                  R,           V P                  ,           # )_sqla_logger_namespaceN.)getattr
__module____name__)r(   s   &r   _qual_logger_name_for_clsr1   E   s3    -t4 	/ 	/>>C#,,.r   c                    V ^8  d   QhRRRR/# )r   r(   z	Type[_IT]r   r   )r   s   "r   r   r   L   s     
 
i 
I 
r   c                   a \         P                  ! \        V 4      4      oV3R  lV n        V3R lV n        SV n        \        P                  V 4       V # )c                B   < SP                  \        P                  4      # N)isEnabledForr   DEBUGselfr   s   &r   <lambda>class_logger.<locals>.<lambda>N   s    )<)<*r   c                B   < SP                  \        P                  4      # r5   )r6   r   INFOr8   s   &r   r:   r;   Q   s    (;(;)r   )r   	getLoggerr1   _should_log_debug_should_log_infor   r&   add)r(   r   s   &@r   class_loggerrB   L   sI    8=>FCC CJJr   InstanceLoggerc                  V    ] tR t^\t$ RtRtR]R&   R]R&   R]R&   R R	 ltR
 R ltRt	R# )r   NzOptional[str]logging_name_IdentifiedLoggerTyper   _EchoFlagType_echoc                   V ^8  d   QhRR/# r   r   boolr   )r   s   "r   r   Identified.__annotate__e   s     7 74 7r   c                	T    V P                   P                  \        P                  4      # r5   )r   r6   r   r7   r9   s   &r   r?   Identified._should_log_debuge   s    {{''66r   c                   V ^8  d   QhRR/# rJ   r   )r   s   "r   r   rL   h   s     6 6$ 6r   c                	T    V P                   P                  \        P                  4      # r5   )r   r6   r   r=   rN   s   &r   r@   Identified._should_log_infoh   s    {{''55r   r   )
r0   r/   __qualname____firstlineno__	__slots__rE   __annotations__r?   r@   __static_attributes__r   r   r   r   r   \   s,    I"&L-&!!76 6r   c                  
   ] tR t^lt$ RtR]P                  R]P                  R]P                  R]P                  /t	R]
R&   RtR R	 ltR
 R ltR R ltR R lt]tR R ltR R ltR R ltR R ltR R ltR R ltRtR# )rC   a  A logger adapter (wrapper) for :class:`.Identified` subclasses.

This allows multiple instances (e.g. Engine or Pool instances)
to share a logger, but have its verbosity controlled on a
per-instance basis.

The basic functionality is to return a logging level
which is based on an instance's echo setting.

Default implementation is:

'debug' -> logging.DEBUG
True    -> logging.INFO
False   -> Effective level of underlying logger (
logging.WARNING by default)
None    -> same as False
NFTr   rG   rH   c                    V ^8  d   QhRRRR/# )r   echorG   namer*   r   )r   s   "r   r   InstanceLogger.__annotate__   s     . .] .# .r   c                	    Wn         \        P                  ! V4      V n        V P                  V,          \        P
                  8:  d6   V P                  P                  '       g   \        V P                  4       R # R # R # r5   )rZ   r   r>   r   	_echo_mapr=   handlersr%   )r9   rZ   r[   s   &&&r   __init__InstanceLogger.__init__   sT    	''- >>$7<</8L8L8L - 9M/r   c               (    V ^8  d   QhRRRRRRRR/# r   msgr*   argsr   kwargsr   r   r   )r   s   "r   r   r\      s(     6 6 6S 6C 6D 6r   c                P    V P                   ! \        P                  V.VO5/ VB  R# )z/Delegate a debug call to the underlying logger.N)logr   r7   r9   rd   re   rf   s   &&*,r   r   InstanceLogger.debug   s      	5d5f5r   c               (    V ^8  d   QhRRRRRRRR/# rc   r   )r   s   "r   r   r\      s(     5 5 5C 53 54 5r   c                P    V P                   ! \        P                  V.VO5/ VB  R# )z/Delegate an info call to the underlying logger.N)rh   r   r=   ri   s   &&*,r   infoInstanceLogger.info   s      	s4T4V4r   c               (    V ^8  d   QhRRRRRRRR/# rc   r   )r   s   "r   r   r\      s(     8 83 8s 8c 8d 8r   c                P    V P                   ! \        P                  V.VO5/ VB  R# )z1Delegate a warning call to the underlying logger.N)rh   r   WARNINGri   s   &&*,r   warningInstanceLogger.warning   s      	#777r   c               (    V ^8  d   QhRRRRRRRR/# rc   r   )r   s   "r   r   r\      s(     6 6 6S 6C 6D 6r   c                P    V P                   ! \        P                  V.VO5/ VB  R# )z2
Delegate an error call to the underlying logger.
Nrh   r   ERRORri   s   &&*,r   errorInstanceLogger.error   s      	5d5f5r   c               (    V ^8  d   QhRRRRRRRR/# rc   r   )r   s   "r   r   r\      s(     6 6S 6 6 6 6r   c                Z    ^VR&   V P                   ! \        P                  V.VO5/ VB  R# )z4Delegate an exception call to the underlying logger.exc_infoNrv   ri   s   &&*,r   	exceptionInstanceLogger.exception   s*     z5d5f5r   c               (    V ^8  d   QhRRRRRRRR/# rc   r   )r   s   "r   r   r\      s(     9 9C 9 9s 9t 9r   c                P    V P                   ! \        P                  V.VO5/ VB  R# )z2Delegate a critical call to the underlying logger.N)rh   r   CRITICALri   s   &&*,r   criticalInstanceLogger.critical   s"     	!!3888r   c          
     ,    V ^8  d   QhRRRRRRRRRR	/# )
r   levelintrd   r*   re   r   rf   r   r   r   )r   s   "r   r   r\      s/     9 9 93 9s 9c 9d 9r   c                   V P                   P                  P                  V8  d   R# V P                  V P                  ,          pV\
        P                  8X  d   V P                   P                  4       pW8  dM   \        '       d!   VP                  R^4      \        ,           VR&   V P                   P                  ! WV3/ VB  R# R# )zDelegate a log call to the underlying logger.

The level here is determined by the echo
flag as well as that of the underlying logger, and
logger._log() is called directly.

N
stacklevel)r   managerdisabler^   rZ   r   NOTSETgetEffectiveLevel
STACKLEVELgetSTACKLEVEL_OFFSET_log)r9   r   rd   re   rf   selected_levels   &&&*, r   rh   InstanceLogger.log   s     ;;&&%/		2W^^+![[::<N"zJJ|Q/2CC |$ KKU88 #r   c                    V ^8  d   QhRRRR/# )r   r   r   r   rK   r   )r   s   "r   r   r\      s     1 1# 1$ 1r   c                t    V P                   P                  P                  V8  d   R# WP                  4       8  # )z)Is this logger enabled for level 'level'?F)r   r   r   r   r9   r   s   &&r   r6   InstanceLogger.isEnabledFor   s1     ;;&&%/..000r   c                   V ^8  d   QhRR/# )r   r   r   r   )r   s   "r   r   r\      s      3 r   c                    V P                   V P                  ,          pV\        P                  8X  d   V P                  P                  4       pV# )z+What's the effective level for this logger?)r^   rZ   r   r   r   r   r   s   & r   r    InstanceLogger.getEffectiveLevel   s9     tyy)GNN"KK113Er   )rZ   r   )r0   r/   rS   rT   __doc__r   r   r=   r7   r^   rV   rU   r`   r   rm   rr   warnrx   r}   r   rh   r6   r   rW   r   r   r   rC   rC   l   s    ( 	gnnw~~gll	I "I.6
5
8
 D669
961 r   c               $    V ^8  d   QhRRRRRR/# )r   instancer   echoflagrG   r   r   r   )r   s   "r   r   r      s$      $1	r   c                   V P                   '       d(   \        V P                  4      : RV P                   : 2pM\        V P                  4      pWn        VR9   d   \        P
                  ! V4      pM\        W4      pW0n        R# )zEcreate a logger for an instance that implements :class:`.Identified`.r-   N)FN)rE   r1   	__class__rH   r   r>   rC   r   )r   r   r[   r   s   &&  r   instance_loggerr      sr    
 %h&8&89!!

 )););<N =  ""4(
  /Or   c                  ^    ] tR tRtRt]R R l4       t]R R l4       tR R ltR	 R
 ltRtR# )echo_propertyi  a}      When ``True``, enable log output for this element.

    This has the effect of setting the Python logging level for the namespace
    of this element's class and object reference.  A value of boolean ``True``
    indicates that the loglevel ``logging.INFO`` will be set for the logger,
    whereas the string value ``debug`` will set the loglevel to
    ``logging.DEBUG``.
    c               $    V ^8  d   QhRRRRRR/# )r   r   zLiteral[None]ownerr)   r   r   r   )r   s   "r   r   echo_property.__annotate__  s$      %.>	r   c                	    R # r5   r   r9   r   r   s   &&&r   __get__echo_property.__get__       r   c               $    V ^8  d   QhRRRRRR/# )r   r   r   r   r)   r   rG   r   )r   s   "r   r   r     s$      "+;	r   c                	    R # r5   r   r   s   &&&r   r   r     r   r   c               $    V ^8  d   QhRRRRRR/# )r   r   zOptional[Identified]r   r)   r   z#Union[echo_property, _EchoFlagType]r   )r   s   "r   r   r     s$     " ","5E"	,"r   c                	&    Vf   V # VP                   # r5   )rH   r   s   &&&r   r   r     s     K>>!r   c               $    V ^8  d   QhRRRRRR/# )r   r   r   valuerG   r   r   r   )r   s   "r   r   r     s!     2 2
 2= 2T 2r   c                	    \        WR 7       R# ))r   N)r   )r9   r   r   s   &&&r   __set__echo_property.__set__  s
    1r   r   N)	r0   r/   rS   rT   r   r   r   r   rW   r   r   r   r   r     s@    G    "2 2r   r   r5   )*__conditional_annotations__r   
__future__r   r   r   typingr   r   r   r   r   r   r	   utilr
   r   util.typingr   r   r   r   rK   rG   r>   
rootloggerr   r   setLevelWARNr%   setr&   rV   r1   rB   LoggerrF   r   rC   r   r   )r   s   @r   <module>r      s  
 #  
            J #Je<(dD''"223
 |,
w~~%% *-& .
 gnn.>>? 6 6 u up<2 2r   