Search the FirstSpirit Knowledge Base
Hallo zusammen,
ich würde gerne das Logging auf unserem FS Server vernünftig konfigurieren, da nach einem Jahr sich im FirstSpirit4\export\log-archiv\ über
450.000 Dateien befanden, die aber größtenteils nur wenige KB groß waren.
In dieses Archiv-Verzeichnis kommen ja die Dateien aus den
FirstSpirit4\log (z.B. fs-server.20120305_050301.log.gz)
FirstSpirit4\log\schedule\ (z.B. fs-schedule.45097.538855.0.log)
FirstSpirit4\log\modules\System.PackageManager\ (z.B. 31995_68007_790.log)
Verzeichnissen. Hier werden nun täglich um die 20 - 30 Dateien neu angelegt (Wir haben recht viele ähnliche Projekte und jeweils um die 10 Aufträge
pro Projekt) . Nun meine Frage:
Wie kann man das ganze so konfigurieren, dass nicht so viele einzelne Dateien erstellt werden? Also z.B. pro oben aufgeführtes Verzeichnis
sollen die Logfiles rotieren indem alles in eine Datei geschrieben wird solange diese <10MB . Erst dann soll eine neue aufgemacht werden, und nach
5 angelegten Dateien sollte die älteste wieder vor dem Erstellen einer neuen gelöscht werden.
Vielen Dank im Voraus für die guten Vorschläge!
Grüße
Alex
Dann werden wir das wahrscheinlich so konfigurieren, dass die Logs zusätzlich in ein großes gemeinsames File geschrieben werden, dass dann für eine längere Zeit aufgehoben wird.
Wenn kein Cluster eingesetzt wird, findet sich auch alles im fs-server.log, muss also nicht noch mal extra zusammengefasst werden.
Die vielen einzelnen kleinen Logs kann man dann relativ kurzfristig löschen, da man sich ja selten sehr alte Einträge über das Servermonitoring oder den Java Clien ziehen würde.
Alte Logfiles kann man sich über den Java-Client eh nicht ziehen (nur über die API, es gibt dort keinen Menüpunkt). Wenn auf die Funktion verzichtet werden kann, kann man also löschen.
Die Antwort ist also "Ja, der Plan müsste aufgehen"
Hallo Alex,
du kannst über folgenden Parameter in der FirstSpirit4/conf/fs-logging.conf
die gewünschte Logdateigröße konfigurieren:
// maximale Dateigröße, hier 10 MB angegeben
log4j.appender.fs.maxFileSize=10MB
Das regelmäßige Löschen von Logdateien kann in den Server- und Projektkonfigurationen
unter Server/Eigenschaften/Auftragsübersicht nach folgendem Bild konfiguriert werden.
Hier kannst du eine Aktion hinzufügen, mit der regelmäßig - z.B. alle 5 Tage -
Protokolldateien gelöscht werden.
Anbei ein Bild zur entsprechenden Server- und Projektkonfiguration:
Weitere Informationen findest du im FirstSpirit Handbuch für Administratoren
unter 4.3.6 Konfiguration Logging (fs-logging.conf).
Falls noch Fragen aufkommen, gerne nochmal posten.
Freundliche Grüße
Ismail
Hallo Ismail,
Danke für Deine Antwort.
Diese Einstellungen habe ich bereits gemacht.
Sowohl log4j.appender.fs.maxFileSize=5MB, als auch ein Auftrag wie oben im Bild sind bereits konfiguriert gewesen.
Trotzdem werden pro Ausführung jedes Auftrages in einem Projekt mehrere Dateien im log\schedule\ erzeugt z.B:
fs-schedule.12740.13182
fs-schedule.12740.13182.0
oder im log\modules\System.PackageManager bei einer Paketaktualisierung pro Aktualisierung z.B.
31995_96151_790.log
Mir geht es also eher darum, irgendwie einzustellen, dass z.B. alle Aufträge serverweit (oder zumindest projektweit) in ein und das selbe File schreiben.
Grüße
Alex
Die Auftrags-Log werden zusätzlich angelegt und werden bei der Anzeige der Logfiles aus der Admin-Konsole herangezogen (oder, wenn Aufträge aus dem Java-Client gestartet werden, direkt nach der Ausführung auch dort).
Wenn sie auf diese Funktionalität verzichten können, können die Dateien dort einfach gelöscht werden.
Ah, OK jetzt wird mir einiges klar. Deswegen wohl auch die beiden IDs in den Dateinamen um sich die Logs herauspicken zu können.
Dann werden wir das wahrscheinlich so konfigurieren, dass die Logs zusätzlich in ein großes gemeinsames File geschrieben werden, dass dann für eine längere Zeit aufgehoben wird. Die vielen einzelnen kleinen Logs kann man dann relativ kurzfristig löschen, da man sich ja selten sehr alte Einträge über das Servermonitoring oder den Java Clien ziehen würde.
Dieser Plan müsste doch aufgehen, oder ?
Dann werden wir das wahrscheinlich so konfigurieren, dass die Logs zusätzlich in ein großes gemeinsames File geschrieben werden, dass dann für eine längere Zeit aufgehoben wird.
Wenn kein Cluster eingesetzt wird, findet sich auch alles im fs-server.log, muss also nicht noch mal extra zusammengefasst werden.
Die vielen einzelnen kleinen Logs kann man dann relativ kurzfristig löschen, da man sich ja selten sehr alte Einträge über das Servermonitoring oder den Java Clien ziehen würde.
Alte Logfiles kann man sich über den Java-Client eh nicht ziehen (nur über die API, es gibt dort keinen Menüpunkt). Wenn auf die Funktion verzichtet werden kann, kann man also löschen.
Die Antwort ist also "Ja, der Plan müsste aufgehen"
Hallo Ismael,
vielen Dank für die skizzierte Lösung.
Leider laufen in unserem Projekt bereits die /export/ -Folder über - hier hätte ich erwartet,
dass die Dateien komprimert in diesen Breich verschoben werden.
Auch wäre es toll, wenn bereits in FS die Möglichkeit bestehen würde zu unterscheiden:
Aufbewahrung aller logs 7 Tage ungezippt
Aufbewahrung aller logs älter 7 Tage gezippt
Löschen aller logs älter 90 Tage
mit oder ohne verschieben.
Grüße Dirj