What it is for
Evidence is what comes with the event and does not fit in a column: screenshots, the
bug report file, the log.zip, the original .eml. They open
on the occurrence screen, and they are
what answers "what was on the screen when it broke".
Where they live
Outside the database. meulog uses Active Storage, and the destination is picked by
environment variable (STORAGE):
- Disk on this machine: the default. Simple, and it goes away with the machine.
- Amazon S3, Google Cloud Storage, Azure Blob Storage.
- Mirror: writes to more than one at once.
Processes shows which one is in use right now and whether it responds. It is the answer to "where is my attachment?".
Active Storage is already the pluggable layer, with four destinations ready. Our own plugin family on top would be an interface with one implementation, and one more thing to maintain.
Their retention is separate
Evidence weighs the most on disk, and its value drops faster than the count. Under Settings it has its own purge policy: you can delete attachments from six months ago and keep the history of how many times the error happened.
How they are served
Through signed, temporary URLs. An attachment does not sit at a guessable address, and the link you copy from the screen expires.