Zum Hauptinhalt springen

Audit-Log-Viewer

Filterbarer Browser der audit_log-Tabelle mit JSON-Diff (vorher/nachher). Live seit 13.06.2026 (Commit 059589397).

Routes

GET /backoffice/audit-log
GET /backoffice/audit-log/<audit_uuid>

Liste

  • Stat-Cards (gesamt / heute / Critical / Error in letzten 7 Tagen)
  • Filter:
    • tage (1 / 7 / 30 / 90)
    • aktion (z. B. tagesabschluss.abgeschlossen)
    • schweregrad (debug / info / warn / error / critical)
    • benutzer (Login-E-Mail oder Anzeige-Name)
    • entitaet (Tabellen-/Modell-Name)
  • Pagination mit clone $b vor countAllResults(false), damit der Pagination-Builder nicht den Limit-Builder zerstört.

Detail mit JSON-Diff

Side-by-side-Boxen für vorher_json und nachher_json. Geänderte Werte werden in rot/grün hervorgehoben.

DB-Schema

CREATE TABLE audit_log (
audit_uuid CHAR(32) PRIMARY KEY, -- bin2hex(random_bytes(16))
zeitpunkt DATETIME NOT NULL,
mandant_uuid CHAR(36) NULL,
benutzer_uuid CHAR(36) NULL,
aktion VARCHAR(100) NOT NULL, -- z. B. "tagesabschluss.abgeschlossen"
schweregrad ENUM('debug','info','warn','error','critical') NOT NULL,
entitaet VARCHAR(60) NULL,
entitaet_id VARCHAR(64) NULL,
vorher_json LONGTEXT NULL,
nachher_json LONGTEXT NULL,
ip VARCHAR(45) NULL,
user_agent VARCHAR(255) NULL,
KEY idx_zeit (zeitpunkt),
KEY idx_user (benutzer_uuid),
KEY idx_akt (aktion)
);

Bekannte TODOs

  • CSV-/Excel-Export (heute nur Browser-View)
  • Auto-Refresh-Toggle

Verwandte Themen