In my apex applications, I want to implement a solution to log change in field value (old vs new) into a table. For example it there are 20 page items on a page and user changes value for any page item and saves it, this change should be recorded in a history table for tracking and audit purpose.
How can I achieve it in way so that I don't have to apply duplicate logic in each page item?