私はいくつかのソース(ソースごとに1つのファイル)からプレーンテキスト形式のログを記録するサービスを構築しています。私はこれらのログを永遠に周回する必要があるので、これらのログをローテーションするつもりはありません。Pythonでgzip形式のログファイルのみを書き込む
これらのファイルを永遠に小さくするために、私は飛行機でそれらをgzipできますことを願っています。ログデータなので、ファイルは非常によく圧縮されます。
サービスのオン/オフ時に書き込みを後で再開できるように、Pythonで追加専用のgzippedテキストファイルを書き込むのは良い方法ですか?私はいくつかの行を失うことを心配していませんが、gzipコンテナ自体が壊れてファイルが読めなくなっても、それはいいえではありません。
また、無駄な場合は、面倒なことがなければ、gzippingせずにプレーンテキストとして簡単に書き込むことができます。
ログをローテーションするつもりがない場合でも、出力を中断してしばらく毎に新しいファイルを開始してみましょう。そして、ファイルが完成した後でgzipを実行することができます。 –
@ DavidZaslavskyの答えは伝統的な解決策です。これは、古いファイルを削除する場所を除外することを除いて、標準のログローテーションです。この目的のために 'logrotate'を使う方法を説明しているリンクのためには+1 – abarnert