I'm working with an organization that would like to generate comprehensive logs of every change to every record in all standard and custom object. This would be like Field Audit Trail, but going beyond the 60 field limit. We don't need to keep the log data in Salesforce very long because we would periodically (hourly, daily) offload it to a data warehouse.
I'm wondering if this can be accomplished with an Apex Trigger on each object which captures and stores the old and new values for each field in a standard log table. Essentially we are re-creating Field History Tracking, but getting beyond the field limits.
Is implementing this approach possible in a production Salesforce org? I'm concerned that we would run into limitations on CPU, memory, or DML transactions. Does anyone have experience trying to do something like this and is it feasible?