Ich habe ein Python-Programm, das täglich ausgeführt wird. Ich verwende das Modul logging
mit FileHandler, um Protokolle in eine Datei zu schreiben. Ich möchte, dass die Logs jedes Laufs in einer eigenen Datei mit einem Zeitstempel stehen. Ich möchte jedoch alte Dateien (sagen wir> 3 Monate) löschen, um zu vermeiden, die Festplatte zu füllen.Alte Python-Protokolldateien automatisch löschen
Ich habe mir RotatingFileHandler und TimedRototingFileHandler angeschaut, aber ich möchte nicht, dass die Protokolle eines einzelnen Laufs auf mehrere Dateien aufgeteilt werden, auch wenn ein einzelner Lauf Tage dauern würde. Gibt es dafür eine integrierte Methode?
Sie könnten dies außerhalb von Python tun, verwenden Sie einfach einen Cron-Job, um 'find' (siehe z. B. http://Stackoverflow.com/a/13869000/3001761) hin und wieder auszuführen. Aber ich bin verwirrt von * "Ich möchte, dass die Logs jedes Tages in einer eigenen Datei sind" * vs. * "Ich möchte nicht, dass die Logs eines einzelnen Laufs auf mehrere Dateien aufgeteilt werden, selbst wenn ein einzelner Lauf ausgeführt werden sollte Tage"*. – jonrsharpe
Danke. Ich suche jedoch nach einer Lösung innerhalb des Logging-Moduls. Ich habe für Klarheit geklärt. –
@jonrsharpe cron wurde vor langer Zeit als veraltet eingestuft und hat in osx für viele Aufgaben nicht gut funktioniert. – JordanGS