summaryrefslogtreecommitdiff
path: root/python/skytools
diff options
context:
space:
mode:
authorAleksei Plotnikov2010-11-04 13:26:55 +0000
committerAleksei Plotnikov2010-11-04 13:26:55 +0000
commitffc888c4c90f98551fdc2fd2b98f3ee1a8186d29 (patch)
tree2a642830968e4732baf4b284c31214e7089fd5a0 /python/skytools
parent868c8975b0fb99eb28ddded917f549f464257f29 (diff)
changed syslog handler to send service type
Diffstat (limited to 'python/skytools')
-rw-r--r--python/skytools/skylog.py24
1 files changed, 23 insertions, 1 deletions
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)