python-awips/awips/AlertVizHandler.py

53 lines
1.4 KiB
Python
Raw Normal View History

2015-06-12 11:57:06 -06:00
##
##
#
# Pure python logging mechanism for logging to AlertViz from
# pure python (ie not JEP). DO NOT USE IN PYTHON CALLED
# FROM JAVA.
2016-03-16 16:32:17 -05:00
#
#
2015-06-12 11:57:06 -06:00
# SOFTWARE HISTORY
2016-03-16 16:32:17 -05:00
#
2015-06-12 11:57:06 -06:00
# Date Ticket# Engineer Description
# ------------ ---------- ----------- --------------------------
# 08/18/10 njensen Initial Creation.
2016-03-16 16:32:17 -05:00
#
#
2015-06-12 11:57:06 -06:00
#
import logging
2016-04-16 17:00:50 -06:00
from . import NotificationMessage
2016-03-16 16:32:17 -05:00
2015-06-12 11:57:06 -06:00
class AlertVizHandler(logging.Handler):
def __init__(self, host='localhost', port=61999, category='LOCAL', source='ANNOUNCER', level=logging.NOTSET):
2016-03-16 16:32:17 -05:00
logging.Handler.__init__(self, level)
2015-06-12 11:57:06 -06:00
self._category = category
self._host = host
self._port = port
self._source = source
2016-03-16 16:32:17 -05:00
def emit(self, record):
2015-06-12 11:57:06 -06:00
"Implements logging.Handler's interface. Record argument is a logging.LogRecord."
priority = None
if record.levelno >= 50:
priority = 'CRITICAL'
elif record.levelno >= 40:
priority = 'SIGNIFICANT'
elif record.levelno >= 30:
priority = 'PROBLEM'
elif record.levelno >= 20:
priority = 'EVENTA'
elif record.levelno >= 10:
priority = 'EVENTB'
else:
priority = 'VERBOSE'
2016-03-16 16:32:17 -05:00
2015-06-12 11:57:06 -06:00
msg = self.format(record)
2016-03-16 16:32:17 -05:00
2015-06-12 11:57:06 -06:00
notify = NotificationMessage.NotificationMessage(self._host, self._port, msg, priority, self._category, self._source)
notify.send()
2016-03-16 16:32:17 -05:00