self-hosted error monitor Open the panel

Evidence

where screenshots and attachments end up open the screen

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?".

Not a plugin family, on purpose

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.