...
If I were going to log every change to every object, some typical hints are that if you subclass EOEditingContext, then prior to any saveChanges() operation you can get a list of the inserted/deleted/changed objects (you have to call processRecentChanges() first). If I was were designing this, I'd make all my EOF objects have a common superclass/interface that implemented something like:
...