Не питонное решение; но в системах Linux я предпочитаю использовать logrotate для автоматического поворота моих логов. Проверьте, установлен ли он в вашей системе (в ubuntu, скажем, есть каталог /etc/logrotate.d/ с файлами, автоматически запускаемыми через cron). Это может или не может быть предпочтительным, если ротация журналов запускается из приложения.
Он очень настраиваемый, например, позволяет сжимать старые файлы, сохраняет N файлов с помощью команды rotate N, поворачивает, когда cron превышает «size 100k», и, глядя на man logrotate, очень прост в настройке.
На странице руководства вот пример файла
# sample logrotate configuration file
compress
/var/log/messages {
rotate 5
weekly
postrotate
/usr/bin/killall -HUP syslogd
endscript
}
"/var/log/httpd/access.log" /var/log/httpd/error.log {
rotate 5
mail www@my.org
size 100k
sharedscripts
postrotate
/usr/bin/killall -HUP httpd
endscript
}