Server IP : 195.201.23.43 / Your IP : 3.141.244.88 Web Server : Apache System : Linux webserver2.vercom.be 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 User : kdecoratie ( 1041) PHP Version : 7.1.33-63+ubuntu20.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib/python3/dist-packages/twisted/logger/ |
Upload File : |
# -*- test-case-name: twisted.logger.test.test_file -*- # Copyright (c) Twisted Matrix Laboratories. # See LICENSE for details. """ File log observer. """ from zope.interface import implementer from twisted.python.compat import ioType, unicode from ._observer import ILogObserver from ._format import formatTime from ._format import timeFormatRFC3339 from ._format import formatEventAsClassicLogText @implementer(ILogObserver) class FileLogObserver(object): """ Log observer that writes to a file-like object. """ def __init__(self, outFile, formatEvent): """ @param outFile: A file-like object. Ideally one should be passed which accepts L{unicode} data. Otherwise, UTF-8 L{bytes} will be used. @type outFile: L{io.IOBase} @param formatEvent: A callable that formats an event. @type formatEvent: L{callable} that takes an C{event} argument and returns a formatted event as L{unicode}. """ if ioType(outFile) is not unicode: self._encoding = "utf-8" else: self._encoding = None self._outFile = outFile self.formatEvent = formatEvent def __call__(self, event): """ Write event to file. @param event: An event. @type event: L{dict} """ text = self.formatEvent(event) if text is None: text = u"" if self._encoding is not None: text = text.encode(self._encoding) if text: self._outFile.write(text) self._outFile.flush() def textFileLogObserver(outFile, timeFormat=timeFormatRFC3339): """ Create a L{FileLogObserver} that emits text to a specified (writable) file-like object. @param outFile: A file-like object. Ideally one should be passed which accepts L{unicode} data. Otherwise, UTF-8 L{bytes} will be used. @type outFile: L{io.IOBase} @param timeFormat: The format to use when adding timestamp prefixes to logged events. If L{None}, or for events with no C{"log_timestamp"} key, the default timestamp prefix of C{u"-"} is used. @type timeFormat: L{unicode} or L{None} @return: A file log observer. @rtype: L{FileLogObserver} """ def formatEvent(event): return formatEventAsClassicLogText( event, formatTime=lambda e: formatTime(e, timeFormat) ) return FileLogObserver(outFile, formatEvent)Private