Динамическое имя файла журнала с данными входящего почтового запроса в Django logging
Я очень новичок в Django. У меня есть сценарий использования, в котором мне нужно сгруппировать имя файла журнала из входящих json данных почтового запроса
Пример json данных пост-запроса
{
"name": "kurt",
"year_of_birth": 1996,
"course": "Arts"
}
Я хочу, чтобы создавался файл с именем 1996.log, чтобы я мог иметь данные всех студентов с годом_рождения 1996, зарегистрированные в 1996.log
Пример 2
{
"name": "Mike",
"year_of_birth": 1994,
"course": "Science"
}
В этом случае имя файла журнала должно быть 1994.log
Таким образом, я хочу генерировать имя журнала по году_рождения и иметь журналы, зарегистрированные в соответствующем файле журнала по отношению к данным входящего почтового запроса
views.py
from rest_framework import viewsets
import logging
student_logger = logging.getLogger("student_log")
class BlogViewSet(viewsets.ViewSet):
def create(self, request, *args, **kwargs):
data = request.data
print(f"\n############ data: {data} \n\n")
student_logger.debug(data)
return Response({"data": "logged successfully", "msg": "success"})
LOGGING в settings.py
LOGGING = {
"version": 1,
"formatters": {
'student_formatter': {
'format': '{levelname} {asctime} {pathname} {filename} {funcName} {lineno} {message}',
'style': '{',
},
},
"handlers": {
"student_handlers": {
"level": "DEBUG",
"class": "logging.FileHandler",
"filename": os.path.join(BASE_DIR, "logs/year_of_birth.log"), # want to change year_of_birth.log with incoming post request data's year_of_birth i.e 1996.log, 1994.log
'formatter': 'student_formatter'
}
},
"loggers": {
"student_log": {
"handlers": ["student_handlers"],
"propagate": True,
"level": "DEBUG"
}
}
}
Как мне этого достичь. Если я не понял вопроса, пожалуйста, дайте мне знать.
Заранее спасибо