У меня есть такие настройки логгера, которые в полночь начинают запись в новый файл.
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"verbose": {
"format": "{asctime} [{name}] ({module}) {levelname} - {message}",
"style": "{",
#"datefmt": "%Y-%m-%d"
},
"simple": {
"format": "{levelname} {message}",
"style": "{",
},
},
"handlers": {
"file": {
"level": "INFO",
"class": "logging.handlers.TimedRotatingFileHandler",
"filename": "logs/django.log",
"when": "midnight",
"formatter": "verbose"
},
},
"loggers": {
"django": {
"handlers": ["file"],
"level": "INFO",
"propagate": True,
},
"logging_app": {
"handlers": ["file"],
"level": "INFO",
"propagate": True,
},
"requests": {
"handlers": ["file"],
"level": "INFO",
"propagate": True,
},
},
}
Но джанго выбрасывает мне исключение:
PermissionError: [WinError 32] Процесс не может получить доступ к файлу, так как этот файл занят другим процессом: 'I:\\Programming\\Meme_master_mobile\\meme_master\\logs\\django.log' -> 'I:\\Programming\\Meme_master_mobile\\meme_ma
ster\\logs\\django.log.2024-03-17'
В интернете я много где искал, и на русском и на английском и у чатжпт спрашивал. Я всего один-два таких же кода, как и у меня, нашел на англоязычном стаковерфлоу. В официальной доке используется стандартый FileHandler, без ротейта по интервалу. Тот код, что сверху я взял с другого своего проекта, там он работает спокойно.