I would use the AfterUpdate event to trigger the log. That way, you are certain that the change to the record was actually applied. If you create the log in the BeforeUpdate event, you may create log records for rows that were never actually updated.
The tricky part is you no longer have the...