Ich würde wie meine Vorredner zu einer Textdatei greifen. Jeder Logeintrag sollte über einen Zeitstempel verfügen, sowie in seiner Meldung Aussagekräftig sein (z.B. ist eine Meldung wie "Der Kommandozeilenparameter xy ist unbekannt" ist besser als "Achtung Fehler"), das ist klar.
Darüber hinaus würde ich, wenn ich auf kein spezielles Loggingsystem eines Drittanbieters zurückgreifen möchte, folgende Punkte berücksichtigen:
- Nur anonymisierte Daten speichern. Lieber eine User ID speichern als Username u.ä. ausgeben. Niemals Passwörter per Logdatei speichern.
- Jeden Tag eine neue Logdatei erstellen
- Die Logdateien beinhalten im Dateinamen das Datum, so dass diese sinnvoll sortiert angezeigt werden können
- Jede Tag/Woche/Monat (abhängig davon wie schnell diese größer werden) sollten die neuen Logdateien mit einem Packprogramm gezippt werden. Am besten automatisch triggern.
- Kopiere die Logdateien nach dem packen auf ein Backup-Laufwerk oder ähnliches. Ebenfalls Automatisch Triggern.
- Die automatischen Prozesse oben sollten regelmäßig kontrolliert werden, am besten einen automatischen Report generieren, der wöchentlich/monatlich per Email darüber auskunft gibt wieviele Dateien gezippt wurden und ob die gleichen Dateien im Backupordner liegen
- Last but not Least: Falls sinnvoll, regelmäßiges Löschen der Logfiles aus dem System und ggf. Backupordner.
- Falls eine Langzeitarchivierung gefordert ist, dann den vorigen Punkt vergessen und statt dessen die Logfiles vom Backupsystem regelmäßig auf Datenträger kopieren.
Wo kommen die Logs her, wo gehen sie hin, und was steht ungefähr drin?
Logs auf dem Webserver zu belassen würde ich ab einer gewissen Anzahl an Kunden nicht mehr weil die IO des Hostsystems in die Knie gehen kann.