コード例 #1
0
    def __init__(self, facility, host_name="", application_name="python", process_id="", address=("127.0.0.1", 514),
                 level=logbook.NOTSET, format_string=None, filter=None, bubble=False,
                 syslog_buffer_size=1024, syslog_message_size=32768):
        logbook.Handler.__init__(self, level, filter, bubble)
        logbook.StringFormatterHandlerMixin.__init__(self, format_string)

        self.writer = SyslogWriter(syslog_buffer_size, syslog_message_size, facility=facility, address=address,
                                   host_name=host_name, application_name=application_name, process_id=process_id,
                                   rfc5424=True)
        self.writer.start()
コード例 #2
0
class SyslogHandler(logbook.Handler, logbook.StringFormatterHandlerMixin):
    """Handler that uses infi.tracing's `SyslogWriter` to truly asynchronously write to syslog."""

    def __init__(self, facility, host_name="", application_name="python", process_id="", address=("127.0.0.1", 514),
                 level=logbook.NOTSET, format_string=None, filter=None, bubble=False,
                 syslog_buffer_size=1024, syslog_message_size=32768):
        logbook.Handler.__init__(self, level, filter, bubble)
        logbook.StringFormatterHandlerMixin.__init__(self, format_string)

        self.writer = SyslogWriter(syslog_buffer_size, syslog_message_size, facility=facility, address=address,
                                   host_name=host_name, application_name=application_name, process_id=process_id,
                                   rfc5424=True)
        self.writer.start()

    def emit(self, record):
        self.writer.write(logbook.SyslogHandler.level_priority_map.get(record.level,
                                                                       logbook.SyslogHandler.LOG_WARNING),
                          self.format(record))

    def close(self):
        self.writer.stop()
コード例 #3
0
import sys
import os
sys.path.insert(0, os.path.join(os.path.dirname(__file__)))
from utils import add_infi_tracing_to_sys_path
add_infi_tracing_to_sys_path()

if sys.platform != 'win32':
    from infi.tracing import SyslogWriter
    import syslog

    writer = SyslogWriter(16384, 4096, syslog.LOG_LOCAL0 >> 3, address=("127.0.0.1", 6514), host_name="myhost",
                          application_name="syslog_writer_test", process_id="main", rfc5424=True)
    writer.start()

    writer.write(syslog.LOG_DEBUG, "hello world!")

    writer.stop()
else:
    print("syslog not supported on win32, skipping.")