Set up each field with the OnObjectEnter trigger to do something like this:
Set Variable [$$OrigValue ; value: Get ( ScriptParameter ) ]
Put the field to be entered in the script parameter box for the script trigger.
OnObjectSave can then be used to capture the field name and can log both it and the value of $$OrigValue in a table or a list of values in a global variables. (By building lists of data in global variables, the OnCommitRecord trigger can run a script to log all the data into a log table as a single entry.)
I had previously seen about using optional script parameters, but had never had occasion to do that, so forgot about it. Thanks so much for providing a solution. It works!!