RotatingFileHandler
とbackupCount
を3とし、maxBytes
を1024 * 1024と設定して、基本ログファイル名をtest.log
と設定しました。ここで最も古いログファイルは、Pythonロギングでアーカイブされます
test.log.3
がいっぱいになったらどうなりますか?それはアーカイブされますか?もしそうなら、どうすればこの場所を見つけることができますか?
RotatingFileHandler
とbackupCount
を3とし、maxBytes
を1024 * 1024と設定して、基本ログファイル名をtest.log
と設定しました。ここで最も古いログファイルは、Pythonロギングでアーカイブされます
test.log.3
がいっぱいになったらどうなりますか?それはアーカイブされますか?もしそうなら、どうすればこの場所を見つけることができますか?
RotatingFileHandlerはdoRollover()メソッドを呼び出し、backupCount
をチェックし、test.log.3
をos.remove()
で削除します。
os.removeの機能はシステムによって異なります。 Python docsによれば、os.remove()
はオペレーティングシステムのリンク解除機能を呼び出し、そのファイルをディスクから削除します。
おそらく、ファイルシステムはセクタを空きとしてマークし、ディレクトリからファイルエントリを削除します。それはすべてあなたのOS /ファイルシステムの実装に依存します。
編集:削除したファイルをLinux上で見つけようとすると、debugfsを試すことができます。
backupCount
は保持されているファイルの数です。古いファイルが削除されています。
test.log
を入力すると、test.log.1
に名前が変更されています。
の名前がtest.log.2
に変更され、test.log.3
になると、次のロールオーバーで削除されます。