+
    Dfj                         R t ^ RIHtHt ^ RIHt ^ RIHt ^RIH	t	H
t
 ^RIHt Rt]! ]	4       ! R R4      4       t]! ]	4      R	 R
 l4       tR# )z
Basic log observers.
)CallableOptional)implementer)Failure)ILogObserverLogEvent)LoggerzITemporarily disabling observer {observer} due to exception: {log_failure}c                   ~   a  ] tR t^t o RtV 3R lR ltV 3R lR ltV 3R lR ltV 3R lR	 ltV 3R
 lR lt	Rt
V tR# )LogPublisherz
I{ILogObserver} that fans out events to other observers.

Keeps track of a set of L{ILogObserver} objects and forwards
events to each.
c                $   < V ^8  d   QhRS[ RR/# )   	observersreturnNr   )format__classdict__s   ":/usr/lib/python3/dist-packages/twisted/logger/_observer.py__annotate__LogPublisher.__annotate__   s     ) )< )D )    c                H    \        V4      V n        \        V R 7      V n        R# )observerN)list
_observersr   log)selfr   s   &*r   __init__LogPublisher.__init__   s    y/4(r   c                $   < V ^8  d   QhRS[ RR/# r   r   r   Nr   )r   r   s   "r   r   r   #   s     	- 	-L 	-T 	-r   c                    \        V4      '       g   \        RV: 24      hWP                  9  d   V P                  P                  V4       R# R# )zY
Registers an observer with this publisher.

@param observer: An L{ILogObserver} to add.
zObserver is not callable: N)callable	TypeErrorr   appendr   r   s   &&r   addObserverLogPublisher.addObserver#   sC     !!8EFF??*OO""8, +r   c                $   < V ^8  d   QhRS[ RR/# r    r   )r   r   s   "r   r   r   .   s     	 	| 	 	r   c                b     V P                   P                  V4       R#   \         d     R# i ; i)z^
Unregisters an observer with this publisher.

@param observer: An L{ILogObserver} to remove.
N)r   remove
ValueErrorr%   s   &&r   removeObserverLogPublisher.removeObserver.   s+    	OO""8, 		s    ..c                $   < V ^8  d   QhRS[ RR/# r   eventr   Nr   )r   r   s   "r   r   r   9   s     " "h "4 "r   c                H  a a RS9  d   RpM
R VV 3R llp. pS P                    F  pVe	   V! V4        V! S4       K  	  V F.  w  rVS P	                  V4      pVP                  \        VVR7       K0  	  R#   \         d     TP                  T\        4       34        K{  i ; i)z(
Forward events to contained observers.
	log_traceNc                (    V ^8  d   QhR\         RR/# r    r   )r   s   "r   r   +LogPublisher.__call__.<locals>.__annotate__B   s     < < < <r   c                <   < SR,          P                  SV 34       R# )z[
Add tracing information for an observer.

@param observer: an observer being forwarded to
r3   N)r$   )r   r0   r   s   &r   trace$LogPublisher.__call__.<locals>.traceB   s     k"))4*:;r   )failurer   )r   	Exceptionr$   r   _errorLoggerForObserverr9   OBSERVER_DISABLED)r   r0   r7   brokenObserversr   brokenObserverr9   errorLoggers   ff      r   __call__LogPublisher.__call__9   s     e#>BE< < H h> ( (7#N66~FK!'    (7  >&&')'<=>s   A77&B! B!c                &   < V ^8  d   QhRS[ RS[/# )r   r   r   )r   r   )r   r   s   "r   r   r   ]   s     / / / /r   c                V   a \        V3R lV P                   4       !  p\        VR7      # )z
Create an error-logger based on this logger, which does not contain the
given bad observer.

@param observer: The observer which previously had an error.

@return: A L{Logger} without the given observer.
c              3   6   <"   T F  qSJg   K
  Vx  K  	  R # 5i)N ).0obsr   s   & r   	<genexpr>7LogPublisher._errorLoggerForObserver.<locals>.<genexpr>g   s     D_c80Ccc_s   
r   )r
   r   r   )r   r   errorPublishers   &f r   r;   $LogPublisher._errorLoggerForObserver]   s(     &DT__D
 ~..r   )r   r   N)__name__
__module____qualname____firstlineno____doc__r   r&   r,   r@   r;   __static_attributes____classdictcell__)r   s   @r   r
   r
      s=     ) )	- 	-	 	" "H/ /r   r
   c                (    V ^8  d   QhR\         RR/# r/   r1   )r   s   "r   r   r   m   s       T r   c                    R# )z<
I{ILogObserver} that does nothing with the events it sees.
NrE   )r0   s   &r   bitbucketLogObserverrU   l   s    r   N)rP   typingr   r   zope.interfacer   twisted.python.failurer   _interfacesr   r   _loggerr   r<   r
   rU   rE   r   r   <module>r[      sa   
 & & * /  P 
 \R/ R/ R/j \ r   