Ë
    ojD  ã                   ód   — d Z  ed«      ZddlmZ dZej                  Z G d„ d«      Zdeedfd„Z	y	)
zo
Classes and utility functions for integrating Twisted and syslog.

You probably want to call L{startLogging}.
Úsyslogé    )Úlogc                   óR   — e Zd ZdZej
                  Zej                  Zeefd„Zd„ Z	y)ÚSyslogObserveraU  
    A log observer for logging to syslog.

    See L{twisted.python.log} for context.

    This logObserver will automatically use LOG_ALERT priority for logged
    failures (such as from C{log.err()}), but you can use any priority and
    facility by setting the 'C{syslogPriority}' and 'C{syslogFacility}' keys in
    the event dict.
    c                 ó*   — | j                  |||«       y)aß  
        @type prefix: C{str}
        @param prefix: The syslog prefix to use.

        @type options: C{int}
        @param options: A bitvector represented as an integer of the syslog
            options to use.

        @type facility: C{int}
        @param facility: An indication to the syslog daemon of what sort of
            program this is (essentially, an additional arbitrary metadata
            classification for messages sent to syslog by this observer).
        N)Úopenlog)ÚselfÚprefixÚoptionsÚfacilitys       ú7/usr/lib/python3/dist-packages/twisted/python/syslog.pyÚ__init__zSyslogObserver.__init__#   s   € ð 	�‰�V˜W hÕ/ó    c                 ó¨  — t        j                  |«      }|€yt        j                  }d}|d   rt        j                  }d|v rt        |d   «      }d|v rt        |d   «      }|j                  d«      }|dd dgk(  r|j                  «        |dd dgk(  rŒd	}|D ]4  }|rd
}nd|z   }| j                  ||z  dj                  |d   |«      «       Œ6 y)a†  
        Send a message event to the I{syslog}.

        @param eventDict: The event to send.  If it has no C{'message'} key, it
            will be ignored.  Otherwise, if it has C{'syslogPriority'} and/or
            C{'syslogFacility'} keys, these will be used as the syslog priority
            and facility.  If it has no C{'syslogPriority'} key but a true
            value for the C{'isError'} key, the B{LOG_ALERT} priority will be
            used; if it has a false value for C{'isError'}, B{LOG_INFO} will be
            used.  If the C{'message'} key is multiline, each line will be sent
            to the syslog separately.
        Nr   ÚisErrorÚsyslogPriorityÚsyslogFacilityú
éÿÿÿÿÚ TFú	z[{}] {}Úsystem)	r   ÚtextFromEventDictr   ÚLOG_INFOÚ	LOG_ALERTÚintÚsplitÚpopÚformat)r	   Ú	eventDictÚtextÚpriorityr   ÚlinesÚ	firstLineÚlines           r   ÚemitzSyslogObserver.emit3   sù   € ô ×$Ñ$ YÓ/ˆØˆ<Øô —?‘?ˆØˆØ�YÒÜ×'Ñ'ˆHØ˜yÑ(Ü˜9Ð%5Ñ6Ó7ˆHØ˜yÑ(Ü˜9Ð%5Ñ6Ó7ˆHð —
‘
˜4Ó ˆØ�B�Cˆj˜R˜DÒ Ø�I‰IŒKð �B�Cˆj˜R˜DÓ ð ˆ	Øò 	ˆDÙØ!‘	à˜d‘{�Ø�K‰KØ˜8Ñ# Y×%5Ñ%5°iÀÑ6IÈ4Ó%Põñ	r   N)
Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   ÚDEFAULT_OPTIONSÚDEFAULT_FACILITYr   r&   © r   r   r   r      s+   „ ñ	ð �n‰n€GØ�]‰]€Fà'6ÐAQó 0ó )r   r   ÚTwistedé   c                 ó`   — t        | ||«      }t        j                  |j                  |¬«       y)a  
    Send all Twisted logging output to syslog from now on.

    The prefix, options and facility arguments are passed to
    C{syslog.openlog()}, see the Python syslog documentation for details. For
    other parameters, see L{twisted.python.log.startLoggingWithObserver}.
    )Ú	setStdoutN)r   r   ÚstartLoggingWithObserverr&   )r
   r   r   r1   Úobss        r   ÚstartLoggingr4   _   s&   € ô ˜ ¨(Ó
3€CÜ× Ñ  §¡°YÖ?r   N)
r*   Ú
__import__r   Útwisted.pythonr   r+   ÚLOG_USERr,   r   r4   r-   r   r   ú<module>r8      sJ   ðñ
ñ 
�HÓ	€å ð €Ø—?‘?Ð ÷Hñ HðX ˜oÐ8HÐTUô@r   