Логирование в Python (не создаётся файл с текущей датой)
Всем привет! Есть простой код, который логирует данные с помощью стандартного logging. Проблема: насколько я понимаю, logging.basicConfig() вызывается один раз. Поэтому имя файла у меня создаётся также единожды и не меняется на следующий день. Т.е. запустил скрипт 17 февраля, получил файл логов вида 17_02_2022.log, скрипт работает и на следующий день, но файл 18_02_2022.log - не создаётся, а все данные сохраняются во "вчерашний" файл. Альтернативы, которые вижу: логировать данные через print(file=), посмотреть в сторону loguru. Есть ли возможность работать через logging, но с созданием нового файла ежедневно?
from datetime import datetime
from time import sleep
import logging
while True:
logging.basicConfig(
filename=f"./Logs/{datetime.now().strftime('%d_%m_%Y')}.log",
format='%(asctime)s: (%(filename)s: %(lineno)d), %(funcName)s -- %(levelname)s -- %(name)s: "%(message)s"',
level=logging.DEBUG
)
logging.info('Some message')
sleep(10)
Ответы (1 шт):
Автор решения: ganz
→ Ссылка
Да но с костылями вида
l = logging.Logger(...
filename=...
while 1:
if filename!={datetime.now().strftime('%d_%m_%Y')}:
#создаём новый логер
l=logging.Logger....