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()
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()
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.")