;ò
¢)?Bc           @   se   d  Z  d k Z d k Z d k Z d k l Z d k l Z d k l	 Z	 d Z
 d f  d „  ƒ  YZ d S(   sD   File-based logger, writes to named category files in mm_cfg.LOG_DIR.N(   s
   StringType(   s   mm_cfg(   s   _logexcs
   iso-8859-1s   Loggerc           B   sV   t  Z d d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z	 RS(   Ni   i    c         C   s\   t  i i t i | ƒ |  _ t |  _	 | |  _ t p
 t i ƒ  |  _ | o |  i ƒ  n d S(   s{  nofail says to fallback to sys.__stderr__ if write fails to
        category file - a complaint message is emitted, but no exception is
        raised.  Set nofail=0 if you want to handle the error in your code,
        instead.

        immediate=1 says to create the log file on instantiation.
        Otherwise, the file is created only when there are writes pending.
        N(   s   oss   paths   joins   mm_cfgs   LOG_DIRs   categorys   selfs   _Logger__filenames   Nones   _Logger__fps   nofails   _Logger__nofails   LOG_ENCODINGs   syss   getdefaultencodings   _Logger__encodings	   immediates   _Logger__get_f(   s   selfs   categorys   nofails	   immediate(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   __init__#   s     		c         C   s   |  i ƒ  d  S(   N(   s   selfs   close(   s   self(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   __del__3   s    c         C   s   d |  i i |  i f Sd  S(   Ns
   <%s to %s>(   s   selfs	   __class__s   __name__s   _Logger__filename(   s   self(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   __repr__6   s    c         C   sä   |  i o |  i SnÌ y t i d ƒ } z] y% t i |  i d |  i d d ƒ } Wn( t
 j
 o t |  i d d ƒ } n X| |  _ Wd  t i | ƒ XWnC t j
 o7 } |  i o! t |  | ƒ t i } |  _ qÜ ‚  n X| Sd  S(   Ni   s   a+s   replacei   (   s   selfs   _Logger__fps   oss   umasks   ous   codecss   opens   _Logger__filenames   _Logger__encodings   fs   LookupErrors   IOErrors   es   _Logger__nofails   _logexcs   syss
   __stderr__(   s   selfs   es   fs   ou(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   __get_f9   s&    
 
c         C   s.   |  i ƒ  } t | d ƒ o | i ƒ  n d  S(   Ns   flush(   s   selfs   _Logger__get_fs   fs   hasattrs   flush(   s   selfs   f(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   flushQ   s    c         C   sl   t  | t ƒ o t | |  i ƒ } n |  i ƒ  } y | i | ƒ Wn" t	 j
 o } t
 |  | ƒ n Xd  S(   N(   s
   isinstances   msgs
   StringTypes   unicodes   selfs   _Logger__encodings   _Logger__get_fs   fs   writes   IOErrors   _logexc(   s   selfs   msgs   f(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   writeV   s    c         C   s"   x | D] } |  i | ƒ q Wd  S(   N(   s   liness   ls   selfs   write(   s   selfs   liness   l(    (    s&   /var/mailman/Mailman/Logging/Logger.pys
   writelines_   s     c         C   s0   |  i o d  Sn |  i ƒ  i ƒ  t |  _ d  S(   N(   s   selfs   _Logger__fps   _Logger__get_fs   closes   None(   s   self(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   closec   s    (
   s   __name__s
   __module__s   __init__s   __del__s   __repr__s   _Logger__get_fs   flushs   writes
   writeliness   close(    (    (    s&   /var/mailman/Mailman/Logging/Logger.pys   Logger"   s   							(   s   __doc__s   syss   oss   codecss   typess
   StringTypes   Mailmans   mm_cfgs   Mailman.Logging.Utilss   _logexcs   LOG_ENCODINGs   Logger(   s   _logexcs
   StringTypes   LOG_ENCODINGs   syss   mm_cfgs   codecss   Loggers   os(    (    s&   /var/mailman/Mailman/Logging/Logger.pys   ?   s   			