Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/py/_log/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/py/_log/__pycache__/log.cpython-37.pyc

B

���]��	@s�dZddlZddlZGdd�de�ZGdd�de�ZGdd�d�Zd	d
�Ze�Zdd�Z	d
d�Z
dd�ZGdd�de�ZGdd�de�Z
dd�Zdd�ZGdd�d�ZxHd��D]<ZdeZyeeeeejje��Wq�ek
r�Yq�Xq�WdS)a�
basic logging functionality based on a producer/consumer scheme.

XXX implement this API: (maybe put it into slogger.py?)

        log = Logger(
                    info=py.log.STDOUT,
                    debug=py.log.STDOUT,
                    command=None)
        log.info("hello", "world")
        log.command("hello", "world")

        log = Logger(info=Logger(something=...),
                     debug=py.log.STDOUT,
                     command=None)
�Nc@s,eZdZdd�Zdd�Zdd�Zdd�Zd	S)
�MessagecCs||_||_dS)N)�keywords�args)�selfrr�r�</opt/alt/python37/lib/python3.7/site-packages/py/_log/log.py�__init__szMessage.__init__cCsd�tt|j��S)N� )�join�map�strr)rrrr�contentszMessage.contentcCsdd�|j�S)Nz[%s] �:)r
r)rrrr�prefixszMessage.prefixcCs|��|��S)N)rr
)rrrr�__str__szMessage.__str__N)�__name__�
__module__�__qualname__rr
rrrrrrrsrc@s:eZdZdZeZiZddd�Zdd�Zdd�Zd	d
�Z	dS)�Producerz� (deprecated) Log producer API which sends messages to be logged
        to a 'consumer' object, which then prints them to stdout,
        stderr, files, etc. Used extensively by PyPy-1.1.
    NcKs2t|d�rt|���}||_|dkr(t}||_dS)N�split)�hasattr�tupler�	_keywords�default_keywordmapper�_keywordmapper)rrZ
keywordmapper�kwrrrr+s
zProducer.__init__cCsdd�|j�S)Nz<py.log.Producer %s>r)r
r)rrrr�__repr__3szProducer.__repr__cCs2d|krt|��|�|j|f�}t|||�|S)N�_)�AttributeError�	__class__r�setattr)r�nameZproducerrrr�__getattr__6s
zProducer.__getattr__cGs,|j�|j�}|dk	r(||�|j|��dS)z0 write a message to the appropriate consumer(s) N)r�getconsumerrr)rr�funcrrr�__call__=szProducer.__call__)N)
rrr�__doc__r�keywords2consumerrrr"r%rrrrr"s
rc@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�
KeywordMappercCs
i|_dS)N)r')rrrrrDszKeywordMapper.__init__cCs
|j��S)N)r'�copy)rrrr�getstateGszKeywordMapper.getstatecCs|j��|j�|�dS)N)r'�clear�update)r�staterrr�setstateIs
zKeywordMapper.setstatec	CsRxBtt|�dd�D].}y|j|d|�Stk
r>wYqXqW|j�dt�S)a return a consumer matching the given keywords.

            tries to find the most suitable consumer by walking, starting from
            the back, the list of keywords, the first consumer matching a
            keyword is returned (falling back to py.log.default)
        r���N�default)�range�lenr'�KeyError�get�default_consumer)rr�irrrr#MszKeywordMapper.getconsumercCs�t|t�rttd|����}n*t|d�r0|j}nt|t�sHtd|f��|dk	r|tj	�
|�s|t|d�sttd|f��t|�}||j|<dS)z' set a consumer for a set of keywords. Nrzkey %r is not a string or tuple�writez(%r should be None, callable or file-like)
�
isinstancerr�filterrrr�	TypeError�py�builtin�callable�Filer')rr�consumerrrr�setconsumer[s



zKeywordMapper.setconsumerN)rrrrr*r.r#r@rrrrr(Cs
r(cCstj�t|�d�dS)zD the default consumer, prints the message to stdout (using 'print') �
N)�sys�stderrr7r)�msgrrrr5ksr5cCst�||�dS)N)rr@)rr?rrrr@qsr@cCst�|�dS)N)rr.)r-rrrr.tsr.cCst��S)N)rr*rrrrr*vsr*c@s eZdZdZdd�Zdd�ZdS)r>z, log consumer wrapping a file(-like) object cCst|d�st�||_dS)Nr7)r�AssertionError�_file)r�frrrrsz
File.__init__cCs.|j�t|�d�t|jd�r*|j��dS)z write a message to the log rA�flushN)rFr7rrrH)rrDrrrr%�sz
File.__call__N)rrrr&rr%rrrrr>}sr>c@s*eZdZdZd
dd�Zdd�Zdd�Zd	S)�Pathz. log consumer that opens and writes to a Path FcCs&||_t|�|_||_|s"|��dS)N)�_appendr�	_filename�
_buffering�	_openfile)r�filename�appendZdelayed_create�	bufferingrrrr�s

z
Path.__init__cCs$|jr
dpd}t|j|�}||_dS)N�a�w)rJ�openrKrF)r�moderGrrrrM�szPath._openfilecCs:t|d�s|��|j�t|�d�|js6|j��dS)z write a message to the log rFrAN)rrMrFr7rrLrH)rrDrrrr%�s

z
Path.__call__N)FFF)rrrr&rrMr%rrrrrI�s

rIcCstj�t|�d�dS)z$ consumer that writes to sys.stdout rAN)rB�stdoutr7r)rDrrr�STDOUT�srVcCstj�t|�d�dS)z$ consumer that writes to sys.stderr rAN)rBrCr7r)rDrrr�STDERR�srWc@s"eZdZdZddd�Zdd�ZdS)�Syslogz+ consumer that writes to the syslog daemon NcCs|dkr|j}||_dS)N)ZLOG_INFO�priority)rrYrrrr�szSyslog.__init__cCstjj�|jt|��dS)z write a message to the log N)r;�std�syslogrYr)rrDrrrr%�szSyslog.__call__)N)rrrr&rr%rrrrrX�s
rXz.EMERG ALERT CRIT ERR WARNING NOTICE INFO DEBUGZLOG_)r&r;rB�objectrrr(r5rr@r.r*r>rIrVrWrXrZ_prior �getattrrZr[rrrrr�<module>s(!(