Ich baue einen Dienst, wo ich Textformat-Protokolle von mehreren Quellen log (eine Datei pro Quelle). Ich habe nicht vor, diese Protokolle zu rotieren, da sie für immer da sein müssen.Schreiben anhängen nur gzip-Log-Dateien in Python
Um diese für immer um Dateien kleiner mache ich hoffe, dass ich sie in Flug gzip könnte. Da es sich um Protokolldaten handelt, werden die Dateien sehr gut komprimiert.
Was ist ein guter Ansatz in Python zu schreiben anhängen-only gzipped Textdateien, so dass das Schreiben später wieder aufgenommen werden kann, wenn Service geht an und aus? Ich bin nicht so besorgt über das Verlieren einiger Zeilen, aber wenn der Gzip-Container selbst zusammenbricht und die Datei unlesbar wird, ist das kein Nein.
Auch wenn es nicht gehen ist, kann ich sie einfach als normaler Text schreiben in ohne Gzipping wenn es sich nicht lohnt der Aufwand ist.
wenn Sie nicht beabsichtigen, die Protokolle zu drehen, warum nicht die Ausgabe brechen und eine neue Datei in einem während jeder einmal anfangen? Dann können Sie gzip ausführen, nachdem eine Datei fertig ist. –
@ DavidZaslavsky's Antwort ist die traditionelle Lösung. Es ist nur Standard-Log-Rotation, außer dass Sie den Teil weglassen, wo Sie die alten Dateien löschen. – abarnert