Relution Logs
Im Docker-Container schreibt Relution standardmäßig keine eigene Logdatei (relution.log). Alle Logausgaben gehen auf die Konsolenausgabe des Containers und lassen sich mit docker logs anzeigen.
Dies ist für die meisten Änderungen ausreichend. Es wird empfohlen, den Fehler zu provozieren, um ihn sichtbar zu machen, bevor die Schritte durchgeführt werden.
Container-ID finden
- Ein Terminal starten und sich ggf. einloggen
- Herausfinden, welchen Namen und welche ID der Docker hat. Container ID und Name anzeigen
sudo docker ps
Das Terminal zeigt daraufhin eine Ausgabe wie die folgende:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
5858aa05c24c relution/relution:latest "/relution-docker.sh…" 6 days ago Up 9 seconds (health: starting) 8080/tcp docker_relution
Die Informationen werden sich von denen im Beispiel unterscheiden. Zum Starten des Protokolls können der Name oder die ID des Containers verwendet werden. Im Beispiel wurde der Name verwendet.
Log mit Containername starten
docker logs -f docker_relution
Die Option -f sorgt dafür, dass das Log immer fortlaufend angezeigt wird. Daher wird schnell viel Text im Terminal angezeigt. Das Log lässt sich mit CTRL + C anhalten, danach kann nach oben gescrollt werden.
Log in Datei speichern
Um die Protokolle in einer Datei im aktuellen Pfad zu speichern, diesen Befehl verwenden:
docker logs -f docker_relution > my_logfile.txt
Es ist auch möglich, einen alternativen Pfad zu verwenden:
docker logs -f docker_relution > /opt/relution/my_logfile.txt
Zum Übertragen der Datei auf den eigenen PC Filezilla, WinSCP oder einen anderen SCP-Client verwenden.
Logrotation
Docker-Logs sind grundsätzlich flüchtig. Manchmal kann es sinnvoll sein, diese über einen längeren Zeitraum aufzubewahren. Nachfolgend ein Beispiel auf Basis einer Rocky Linux 9 + Docker Installation.
Logrotation für Docker-Host Logs konfigurieren
Docker speichert seine Standard-Logs unter /var/lib/docker/containers/<container-id>/<container-id>-json.log. Damit diese Logs handhabbar bleiben, kann die integrierte Log-Rotation von Docker über die Datei /etc/docker/daemon.json aktiviert werden:
{
"log-driver": "json-file",
"log-opts": {
"max-size": "10m",
"max-file": "30"
}
}
Danach den Docker-Dienst neu starten:
sudo systemctl restart docker
Logs täglich rotieren, zippen und ins Relution-Verzeichnis verschieben
Für die tägliche Archivierung kann logrotate verwendet werden. Hierfür muss es nachträglich auf dem Linux System installiert werden via:
sudo dnf install logrotate
Dafür muss zuerst ein Logs-Ordner erstellt werden:
sudo mkdir /opt/relution/logs
Anschließend muss eine Konfigurationsdatei unter /etc/logrotate.d/docker mit folgendem Inhalt erstellt werden:
* ersetzen./var/lib/docker/containers/WILDCARD/WILDCARD.log {
daily
missingok
rotate 30
compress
delaycompress
notifempty
copytruncate
create 640 root root
sharedscripts
postrotate
TIMESTAMP=$(date +%Y-%m-%d-%H%M%S)
for file in $(find /var/lib/docker/containers/ -type f -name "*.log.*.gz"); do
DIR="/opt/relution/logs"
FILENAME="$(basename "$file" | cut -c1-12)-${TIMESTAMP}.log.gz"
mv "$file" "${DIR}/${FILENAME}"
done
endscript
}
Die Konfiguration erfasst die Logs aller Container auf dem Host. Durch sharedscripts läuft der postrotate-Teil einmal nach allen Containern. Jede archivierte Datei beginnt mit den ersten 12 Zeichen der Container-ID, wie sie docker ps anzeigt; darüber lässt sich die Datei dem jeweiligen Container zuordnen (z. B. Relution, Datenbank, nginx).
Mittels folgendem Test-Befehl kann eine Log sofort erstellt werden:
sudo logrotate --force /etc/logrotate.d/docker
Anschließend sollte im /opt/relution/logs-Ordner eine Log-Datei gespeichert sein. Wegen delaycompress entsteht die erste .gz-Datei erst beim zweiten Lauf.
ls -lah /opt/relution/logs
Linux
Wurde Relution im Standardverzeichnis /opt/relution installiert, finden sich die Logs in /opt/relution/log.
Die aktuellste Logdatei heißt relution.log, archivierte Logdateien heißen relution.log.<Datum>.<Index>.gz (z. B. relution.log.2026-10-17.0.gz).
Wenn Relution an einem anderen Ort installiert wurde, liegt das Log-Verzeichnis log im jeweiligen Installationsverzeichnis.
Windows
Wenn Relution im Standardverzeichnis %ProgramFiles%\relution (in der Regel C:\Program Files\relution) installiert wurde, finden sich die Logs in %ProgramFiles%\relution\log.
Die aktuellste Logdatei heißt relution.log, archivierte Logdateien heißen relution.log.<Datum>.<Index>.gz (z. B. relution.log.2026-10-17.0.gz).
Wenn Relution an einem anderen Ort installiert wurde, liegt das Log-Verzeichnis log im jeweiligen Installationsverzeichnis.
Rotation und Speicherort der Logdatei
Relution rotiert die Logdatei relution.log selbst: täglich und zusätzlich, sobald die Datei 128 MB erreicht. Der Index im Dateinamen beginnt bei 0 und wird bei jeder weiteren Rotation am selben Tag hochgezählt. Archivierte Dateien werden 30 Tage aufbewahrt, insgesamt belegen sie höchstens 1 GB.
Über die Umgebungsvariable RELUTION_LOGS lässt sich das Log-Verzeichnis auf einen anderen absoluten Pfad legen. Ohne diese Angabe liegt es im Unterverzeichnis log des Installationsverzeichnisses.
Im Docker-Container ist die Logdatei abgeschaltet (Umgebungsvariable RELUTION_LOG_FILE_LEVEL=OFF im Image). Wird RELUTION_LOG_FILE_LEVEL auf ALL gesetzt, schreibt und rotiert Relution relution.log auch im Container. Abgeschaltet wird die Logdatei nur mit dem Wert OFF bzw. off (in der application.yml über den Schlüssel relution.log.file.level). Damit die Dateien ein Neuerstellen des Containers überdauern, wird das Log-Verzeichnis über RELUTION_LOGS auf ein als Volume eingebundenes Verzeichnis gelegt. Das ist eine Alternative zur oben beschriebenen Logrotation über logrotate.
Weiterleitung an einen Syslog-Server
Zusätzlich zur Konsole und zur Logdatei kann Relution die Logausgaben an einen Syslog-Server senden. Die Weiterleitung erfolgt per UDP, ist standardmäßig abgeschaltet und wird in der application.yml konfiguriert; im Docker-Container lassen sich die Schlüssel auch als Umgebungsvariablen setzen (z. B. RELUTION_LOG_SYSLOG_LEVEL):
| Schlüssel | Standardwert | Bedeutung |
|---|---|---|
relution.log.syslog.level | OFF | Mindest-Loglevel der weitergeleiteten Einträge, z. B. INFO; nur OFF bzw. off schaltet die Weiterleitung ab |
relution.log.syslog.host | localhost | Hostname oder IP-Adresse des Syslog-Servers |
relution.log.syslog.port | 514 | Port des Syslog-Servers |
relution.log.syslog.facility | LOCAL0 | Syslog-Facility |
Gerade für die langfristige Aufbewahrung von Docker-Logs bietet sich die Weiterleitung an einen zentralen Syslog-Server an. Die Änderung wird nach einem Neustart von Relution wirksam.
Loglevel für erweiterte Fehleranalyse anpassen
Reichen die Standard-Logs für die Analyse eines Problems nicht aus, kann das Log-Level gezielt auf DEBUG angehoben werden (z. B. im laufenden Betrieb ohne Neustart über die Web API oder, nach einmaliger Freischaltung, über das System-Portal). Eine ausführliche Anleitung dazu ist unter Loglevel einstellen → beschrieben.