Contents
Audit log - Plugixa CRM
Every record carries a history of what was done to it: created, changed, assigned, deleted, restored, and by whom.
What is recorded
| Event | Recorded |
|---|---|
| Created | The record appeared, and who made it |
| Updated | Which fields changed, from what to what |
| Assigned | The owner changed |
| Deleted | It went to the trash |
| Restored | It came back |
The log lives on the record. Open anything and its history is a panel on it, alongside the notes and the stream.
The audit log and the stream are not the same thing
They look similar and answer different questions, which is why both exist.
| Stream | Audit log | |
|---|---|---|
| For | People working the record | Somebody asking what happened |
| Shows | Activity and notes, in a readable feed | Field-level changes, from and to |
| Includes notes | Yes. A note is a stream post | No |
| Followers | Yes | No |
It cost nothing to add
Worth knowing because it says something about how reliable it is.
The audit log listens to five events - created, updated, deleted, restored and before-purge - that the database layer had been firing on every write since the first module was built, with nothing consuming them.
So the log was added without touching a single write path. There is no code path that saves a record and forgets to write history, because writing history is not something the save has to remember to do.
It is not a record
An audit entry is something that happened to a record. It does not appear in global search, deliberately: putting the audit log into search would bury every real result under a history of itself.
Merging keeps it
When two records are merged, the audit trail of both moves onto the survivor. That is one of the reasons to merge duplicates rather than delete one of them. See Working with Records.
Erasure removes it
A personal-data erasure removes the audit entries along with the record, because a history of somebody is still data about them. See Privacy and Data.
That is the deliberate tension in this feature, and it is resolved in the customer’s favour: an audit trail is valuable, and it is not more valuable than somebody’s right to be forgotten.
Troubleshooting
| Symptom | Usual cause |
|---|---|
| A change is not in the log | Check it was a change: saving without editing anything records nothing. |
| The log says “Someone” | The change was made by something with no user attached: a seeder, an import, or cron. |
| A field shows as changed and looks the same | Whitespace, or a type change such as 1 to true. |
| The log is empty on an old record | It was created before the log existed. Nothing backfills history. |
| I cannot see the log on a record | Your role may read the record but not its history. |
| Audit entries do not appear in search | By design. They are not records. |
| The log vanished after an erasure | Correct. Erasure removes the history too. |
What to do next
- The readable feed: Notes, Files, Tags and the Stream.
- What erasure does: Privacy and Data.
- Who may read it: Roles, Teams and Permissions.