File: //lib/python3/dist-packages/twisted/logger/__pycache__/_file.cpython-38.pyc
U
�b! � @ s� d Z ddlmZmZmZmZ ddlmZ ddlm Z ddl
mZmZm
Z
ddlmZmZ ee�G dd � d ��Ze
fee ee ed
�dd�Zd
S )z
File log observer.
� )�IO�Any�Callable�Optional)�implementer)�ioType� )�formatEventAsClassicLogText�
formatTime�timeFormatRFC3339)�ILogObserver�LogEventc @ sD e Zd ZdZee eegee f dd�dd�Z
edd�dd�ZdS ) �FileLogObserverz9
Log observer that writes to a file-like object.
N)�outFile�formatEvent�returnc C s* t |�tk rd| _nd| _|| _|| _dS )z�
@param outFile: A file-like object. Ideally one should be passed which
accepts text data. Otherwise, UTF-8 L{bytes} will be used.
@param formatEvent: A callable that formats an event.
zutf-8N)r �str� _encoding�_outFiler )�selfr r � r �6/usr/lib/python3/dist-packages/twisted/logger/_file.py�__init__ s
zFileLogObserver.__init__��eventr c C sH | � |�}|rD| jdkr&| j�|� n| j�|�| j�� | j�� dS )zG
Write event to file.
@param event: An event.
N)r r r �write�encode�flush)r r �textr r r �__call__( s
zFileLogObserver.__call__)�__name__�
__module__�__qualname__�__doc__r r r r
r r r r r r r r r s �r )r �
timeFormatr c s"