;ō
ĸ)?Bc           @   s4   d  k  Z  d  k Z e d d  Z d d d  Z d  S(   Ns    c         C   s?   t  i i d |   t i d t  i  t  i i d |  d  S(   Ns   Logging error: %s
s   files   Original log message:
%s
(   s   syss
   __stderr__s   writes   loggers	   tracebacks	   print_excs   msg(   s   loggers   msg(    (    s%   /var/mailman/Mailman/Logging/Utils.pys   _logexc   s    i   c         C   sĒ   d k  l  } d k l } yr | |  d | d | d d } | o9 t t d  o t i	 } n
 t i
 } | | |  } n | t _
 t i
 SWn t j
 o t Sn Xd S(	   sß   Establish a StampedLogger on sys.stderr if possible.

    If tee_to_real_stderr is true, then the real standard error also gets
    output, via a MultiLogger.

    Returns the MultiLogger if successful, None otherwise.
    (   s   StampedLogger(   s   MultiLoggers   labels   manual_reprimes   nofaili    s
   __stderr__N(   s   StampedLoggers   MultiLoggers   categorys   labels   manual_reprimes   loggers   tee_to_real_stderrs   hasattrs   syss
   __stderr__s   stderrs   IOErrors   None(   s   categorys   labels   manual_reprimes   tee_to_real_stderrs   StampedLoggers   stderrs   loggers   MultiLogger(    (    s%   /var/mailman/Mailman/Logging/Utils.pys	   LogStdErr   s"     		(   s   syss	   tracebacks   Nones   _logexcs	   LogStdErr(   s   syss   _logexcs	   tracebacks	   LogStdErr(    (    s%   /var/mailman/Mailman/Logging/Utils.pys   ?   s   		