Protokolliert Aktivitäten im REDAXO-Backend und stellt sie übersichtlich dar. Eigene Addons können beliebige Log-Einträge schreiben. Darüber hinaus lassen sich bekannte REDAXO-Ereignisse (Artikel, Medien, User usw.) automatisch über Extension Points erfassen.
Über den REDAXO-Installer oder manuell in redaxo/src/addons/activity_log entpacken und im Backend installieren.
Voraussetzungen:
- REDAXO ≥ 5.20.0
- PHP ≥ 8.2
use FriendsOfRedaxo\ActivityLog\Activity;
Activity::message('Hallo Welt!')->log();Activity::message('Datensatz wurde verändert')
->type(Activity::TYPE_WARNING)
->causer(rex::getUser())
->log();Activity::message('Import abgeschlossen')
->type(Activity::TYPE_ADD)
->source('mein-addon')
->log();| Methode | Beschreibung |
|---|---|
Activity::message(string $msg) |
Pflichtfeld – Text des Log-Eintrags |
->type(string $type) |
Typ des Eintrags (siehe Konstanten unten) |
->causer(?rex_user $user) |
Benutzer, der die Aktion ausgelöst hat |
->source(string $source) |
Herkunft des Eintrags (z. B. Addon-Name) |
->log() |
Schreibt den Eintrag in die Datenbank |
Activity::TYPE_INFO // Allgemeine Information
Activity::TYPE_NOTICE // Hinweis
Activity::TYPE_WARNING // Warnung
Activity::TYPE_ERROR // Fehler
Activity::TYPE_CRITICAL // Kritisch
Activity::TYPE_DEBUG // Debug-Ausgabe
Activity::TYPE_ADD // Hinzugefügt
Activity::TYPE_UPDATE // Aktualisiert
Activity::TYPE_EDIT // Bearbeitet
Activity::TYPE_DELETE // GelöschtTabellenzeilen werden je nach Typ farblich hervorgehoben (rot = Error/Delete, gelb = Warning, lila = Critical, grün = Add). Light- und Dark-Mode werden unterstützt.
In den Einstellungen des Addons kann die automatische Protokollierung für folgende REDAXO-Ereignisse aktiviert werden:
| Bereich | Ereignisse |
|---|---|
| Artikel | Hinzugefügt, Aktualisiert, Status geändert, Gelöscht |
| Kategorie | Hinzugefügt, Aktualisiert, Status geändert, Gelöscht |
| Slice | Hinzugefügt, Aktualisiert, Gelöscht, Verschoben |
| Medien | Hinzugefügt, Aktualisiert, Gelöscht |
| Meta Info | Aktualisiert |
| Benutzer | Hinzugefügt, Aktualisiert, Gelöscht |
| Sprache (Clang) | Hinzugefügt, Aktualisiert, Gelöscht |
| Template | Hinzugefügt, Aktualisiert, Gelöscht |
| Modul | Hinzugefügt, Aktualisiert, Gelöscht |
| YForm | Manager-Ereignisse (nur wenn YForm installiert) |
Die internen Handler setzen die source-Spalte automatisch (z. B. article, media, yform).
Jeder Log-Eintrag kann eine Quelle tragen. Sie erscheint als eigene Spalte in der Übersicht und kann als Filter genutzt werden. Eigene Addons sollten den Addon-Namen als Quelle setzen:
Activity::message('Datensatz importiert')
->type(Activity::TYPE_ADD)
->source('mein-addon')
->log();Die Übersicht bietet ein vollständiges Filterformular:
- Freitextsuche in der Nachricht
- Typ-Filter (Dropdown)
- Quellen-Filter (Dropdown)
- Benutzer-Filter (Dropdown)
Filter bleiben beim Blättern (Pager), beim Löschen einzelner Einträge und beim Massenlöschen erhalten.
In den Einstellungen kann die Option „Protokollierung für Administratoren deaktivieren" aktiviert werden. Ist sie gesetzt, werden Aktionen von REDAXO-Admins nicht im Activity Log erfasst.
Einzelne Einträge oder alle Einträge lassen sich direkt in der Übersicht löschen.
Über das Cronjob-Addon können Einträge automatisiert nach einem wählbaren Zeitraum gelöscht werden.
php redaxo/bin/console activity:clearDas Addon definiert die Berechtigung activity_log[]. Nur Benutzer mit dieser Berechtigung (bzw. Admins) können das Activity Log einsehen. Die Einstellungsseite ist ausschließlich Administratoren vorbehalten.
Die alten Klassennamen sind als BC-Stubs erhalten und können weiterhin verwendet werden – ein Update bestehenden Codes ist nicht erforderlich:
| Alt | Neu (empfohlen) |
|---|---|
rex_activity |
FriendsOfRedaxo\ActivityLog\Activity |
rex_activity_log_cronjob |
FriendsOfRedaxo\ActivityLog\ActivityLogCronjob |
activity_clear (Console) |
FriendsOfRedaxo\ActivityLog\ActivityClear |
Friends Of REDAXO
Project Lead
Weitere Mitwirkende
Andreas Eberhard, Oliver Kreischer, Norbert Micheel, Thomas Skerbis
MIT – siehe LICENSE
