1. An apparatus comprising: at least one processor; a memory coupled to the at least one processor; a database residing in the memory, the database comprising a plurality of records; and a journaling mechanism residing in the memory and executed by the at least one processor, the journaling mechanism storing an entry in a journal when a record in the database changes, the entry including all data from all fields in the record that changed, the entry including all data from any fields in the record that are selected always to be journaled regardless of whether or not the selected fields in the record changed, the entry excluding all data from all non-selected fields in the record that did not change, the entry including a collected fields bitmap that indicates which fields in the record are included in the entry and which fields in the record are not included in the entry and a changed fields bitmap that indicates which fields in the record were changed and which fields in the record were not changed; wherein the journaling mechanism determines whether a default object corresponding to the entry is already stored in the journal, and if not, storing the default object corresponding to the entry in the journal; wherein the entry is output by the journaling mechanism in human-readable form by the journaling mechanism reading the default object, reading the entry, overlaying the data from the entry onto the default object, and outputting the overlaid object; and wherein the human-readable form is displayed to a user, wherein data for all selected fields and all fields that changed are displayed to the user, and wherein the default data is represented as data that did not change in the display of the human-readable form.