Журналы приложений Django не ротируются
В приложении Django версии 3.2.14, работающем на экземпляре ec2, который также имеет gunicorn веб-сервер с 9 рабочими, плюс ngnix и с конфигурацией журнала, показанной ниже, файлы не ротируются.
Пользователем службы gunicorn является ubuntu и принадлежит к группе: www-data
Что это может быть? Проблема с Гуникорном и рабочими?
Я ценю ваши ответы.
LOGGING = {
"version": 1,
"disable_existing_loggers": False,
"formatters": {
"simple": {"format": "%(levelname)s %(message)s"},
"verbose": {
"format": "[%(levelname)8s] [%(asctime)s] [%(funcName)30s] %(message)s"
},
"elegant": {
"format": (
"%(asctime)s [%(levelname)-8s] " "(%(module)s.%(funcName)s) %(message)s"
),
"datefmt": "%Y-%m-%d %H:%M:%S",
},
},
"handlers": {
"console": {
"level": "INFO",
"class": "logging.StreamHandler",
"formatter": "elegant",
},
"app": {
"level": "INFO",
"class": "logging.handlers.TimedRotatingFileHandler",
"formatter": "elegant",
"filename": os.path.join("logs", "app"),
"when": "D",
"interval": 30,
"encoding": "utf-8",
},
"groups": {
"level": "INFO",
"class": "logging.handlers.TimedRotatingFileHandler",
"formatter": "elegant",
"filename": os.path.join("logs", "groups"),
"when": "D",
"interval": 30,
"encoding": "utf-8",
},
},
"root": {
"level": "INFO",
"handlers": ["console"],
"formatter": "elegant",
},
"loggers": {
"app": {
"level": "INFO",
"handlers": ["app"],
"propagate": True,
},
"groups": {
"level": "INFO",
"handlers": ["groups"],
"propagate": True,
},
},
}
Это происходит потому, что gunicorn ведет журнал, используя 2 или более процессов.
Если вы хотите вращать файл журнала, проще создать отдельный код для управления файлом журнала.