From ffc888c4c90f98551fdc2fd2b98f3ee1a8186d29 Mon Sep 17 00:00:00 2001 From: Aleksei Plotnikov Date: Thu, 4 Nov 2010 13:26:55 +0000 Subject: [PATCH] changed syslog handler to send service type --- python/skytools/skylog.py | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/python/skytools/skylog.py b/python/skytools/skylog.py index d9492ad6..3557cb1d 100644 --- a/python/skytools/skylog.py +++ b/python/skytools/skylog.py @@ -191,5 +191,27 @@ class LogDBHandler(logging.handlers.SocketHandler): query = "select * from log.add(%s, %s, %s)" logcur.execute(query, [type, service, msg]) +# send messages to syslog class SysLogHostnameHandler(logging.handlers.SysLogHandler): - log_format_string = '<%d> ' + socket.gethostname() + ' %s\000' + """Slightly modified standard SysLogHandler - sends also hostname and service type""" + + def emit(self, record): + msg = self.format(record) + format_string = '<%d> %s %s %s\000' + msg = format_string % (self.encodePriority(self.facility,self.mapPriority(record.levelname)), + socket.gethostname(), + _service_name, + msg) + try: + if self.unixsocket: + try: + self.socket.send(msg) + except socket.error: + self._connect_unixsocket(self.address) + self.socket.send(msg) + else: + self.socket.sendto(msg, self.address) + except (KeyboardInterrupt, SystemExit): + raise + except: + self.handleError(record) -- 2.39.5