"""System event log message.""" from auditlogger.event import Event class SystemEvent(Event): """Represent a system event.""" SYSTEM_EVENTS = ["starting", "stopping"] ES_INDEX = "system-event" def __init__( self, system_name, version, event_name, instance_details=None): """Return the event. Args: system_name (str): The name of the system. version (str): The version of the running system. event_name (str): One of the known system events. instance_details (dict): Additional aspects worth logging. """ if event_name not in self.SYSTEM_EVENTS: raise Exception("unexpected system event: {}".format(event_name)) super().__init__() self.data["system_name"] = system_name self.data["version"] = version self.data["event_name"] = event_name self.data["instance_details"] = instance_details or []