How many times over your career have you had to create some form of audit trail functionality within a system or project you’ve worked on? The answer for me is often. Depending on your preferences, and probably experience, there’s several ways of doing so.
There’s a few obvious points you could implement auditing, each of which have good points and bad points: