diff options
| author | Aleksei Plotnikov | 2010-11-04 13:26:55 +0000 |
|---|---|---|
| committer | Aleksei Plotnikov | 2010-11-04 13:26:55 +0000 |
| commit | ffc888c4c90f98551fdc2fd2b98f3ee1a8186d29 (patch) | |
| tree | 2a642830968e4732baf4b284c31214e7089fd5a0 /python/skytools | |
| parent | 868c8975b0fb99eb28ddded917f549f464257f29 (diff) | |
changed syslog handler to send service type
Diffstat (limited to 'python/skytools')
| -rw-r--r-- | python/skytools/skylog.py | 24 |
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) |
