We are designing a system and one of our requirements is to be able to record various events which are enacted on our domain entities as they pass through their lifecycle. A bit of me thinks we should store all these events as "Command" pattern objects with associated metadata (actor, date/time etc.) but this is based on my having used it to implement Undo/Redo in the past which is not a requirement here. We also have the added complexity that some actions act across multiple entity types and others are more discreet.
Does anyone have any experience of this? Is the use of Command appropriate or is there a simpler way to do this?
TIA