summaryrefslogtreecommitdiff
path: root/python/skytools/skylog.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/skytools/skylog.py')
-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)