Python自帶的logging模塊本身并不具備自動刪除舊日志文件的功能。但是你可以結(jié)合使用logging模塊和第三方模塊進行實現(xiàn)。
一種常見的方法是使用logrotate這個Linux工具,它可以定期輪轉(zhuǎn)、壓縮和刪除日志文件。你可以在Python中調(diào)用subprocess模塊來執(zhí)行l(wèi)ogrotate命令,例如:
import subprocess
subprocess.call(["logrotate", "/etc/logrotate.conf"])
另外,你也可以自己編寫一個Python腳本來定期檢查日志文件大小,當(dāng)超過一定大小時就刪除舊日志文件,例如:
import os
log_file = "mylog.log"
max_size = 1024 * 1024 * 10 # 10 MB
if os.path.isfile(log_file):
if os.path.getsize(log_file) > max_size:
os.remove(log_file)
這樣你可以在你的Python應(yīng)用程序中定期調(diào)用這個腳本來刪除舊的日志文件。