Как войти в файл с датой запуска скрипта и удалить старый - PullRequest
0 голосов
/ 06 ноября 2018

Я могу создать регистратор с фактической датой и ежедневно вращать его с помощью:

from logging.handlers import TimedRotatingFileHandler
TimedRotatingFileHandler('mylog.log', when='midnight', backupCount=10)

Другой способ - создать обработчик на основе фактической даты:

from datetime import datetime
logging.FileHandler('mylog-{}.log'..format(datetime.now().date().isoformat()))

Оба прекрасно работают, но мне нужно сочетание обоих.

Первое решение мне не подходит, потому что мне нужны все журналы за один прогон в одном файле. Например, когда мой скрипт запускается за 1 минуту до полуночи, у меня будут журналы в двух файлах журналов. Недостатки этого решения в том, что python позаботится о вращении и удалении старых журналов.

Второе решение исправить мою первую проблему. Все журналы хранятся в файле с фактической датой запуска скрипта, но он не заботится об удалении старых журналов. Я мог бы сделать это с помощью cron в Linux или создать другой скрипт, который позаботится об этом, но я бы предпочел лучшее решение.

Так что я хочу, чтобы мой сценарий начинался с 1.1.2018 в 23:59 и занимал 15 минут, поэтому он заканчивался 00:14, все мои журналы были бы в mylog.log-2018-1-1

Есть ли способ, как автоматически вращать, а также удалять старые файлы и сохранять все журналы в файле с датой, когда был запущен скрипт?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...