Specialized Event Classes: ErrorEvent, PseudonymEvent, SreEvent
Overview of specialized Event Classes with further data.
ErrorEvent
[1]:
from logprep.ng.event.error_event import ErrorEvent
from logprep.ng.event.log_event import LogEvent
log_event = LogEvent({"data": 1}, original=b"data: 1")
# Simulate log_event state to FAILED
print(log_event.state.next_state())
print(log_event.state.next_state())
print(log_event.state.next_state(success=False))
error_event = ErrorEvent(log_event=log_event, reason=TypeError("Field 'data' has to be a string!"))
print(error_event)
received
processing
failed
ErrorEvent(data={'@timestamp': '2025-07-28T06:33:20.184077+00:00', 'reason': "Field 'data' has to be a string!", 'original': b'data: 1', 'event': b"{'data': 1}"}, state=receiving)
SreEvent and PseudonymEvent don’t have any additional data; they only serve to distinguish between the event types.
[ ]:
from logprep.ng.event.sre_event import SreEvent
outputs = ({"output": "output1"}, {"output": "output2"})
sre_event = SreEvent(data={"data": 1}, outputs=outputs)
# Simulate log_event states
print(sre_event.state.next_state()) # RECEIVED
print(sre_event.state.next_state()) # PROCESSING
print(sre_event.state.next_state(success=True)) # successfully PROCESSED
print(sre_event.state.next_state()) # STORED_IN_OUTPUT
print(sre_event.state.next_state(success=True)) # successfully DELIVERED
print(sre_event.state.next_state()) # ACKED
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[2], line 3
1 from logprep.ng.event.sre_event import SreEvent
----> 3 sre_event = SreEvent(data={"data": 1})
5 # Simulate log_event states
6 print(sre_event.state.next_state()) # RECEIVED
TypeError: ExtraDataEvent.__init__() missing 1 required keyword-only argument: 'outputs'