Можно ли создать файлы журналов для каждого пользователя и даты (Python)?

У меня есть приложение, в котором мне нужно создать папку для каждого пользователя, в которой будут храниться его дневные журналы. Я создал пользовательское промежуточное ПО, которое будет вызывать мой файл custom_logger для создания файла журналов для каждого пользователя. Ниже представлено мое промежуточное ПО auth_middleware.py

from .custom_logger import LogClass
log_obj=LogClass()
def simple_middleware(get_response):

    def middleware(request):
        user_token=request.headers['userid']     
        user_name=request.headers['username']
        page_name=request.headers['pagename']
        log_obj.log_setting(str(user_name),str(page_name))
        return response
    return middleware

Я вызываю свой custom_logger.py из middleware.

class LogClass:
    def log_setting(self,user_name,page_name):
        current_date = datetime.date.today() #set variable which store current date
 
        log_path = './logs/' + user_name   #log path of user folder
            
        if os.path.exists(log_path):   #check user folder is already exist or not  
            pass
        else:
            os.mkdir(log_path)  #use to create user folder with username
        filename=str(current_date) +'.log'  #set file name with current date 
        
        logging.basicConfig(level=logging.DEBUG,filename=log_path+'/'+ filename,force=True, format='%(asctime)s : %(levelname)s : '+page_name+' : %(pathname)s : %(lineno)s: %(funcName)s : %(message)s')

После этого я импортировал логирование в каждый файл и оно работает нормально, если один пользователь работает одновременно, для более чем одного пользователя одновременно оно не работает.

Если два пользователя параллельно вызывают один API, то первый пользователь будет иметь начальные журналы, затем все журналы первого пользователя и второго пользователя попадут под второго пользователя.

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

Вернуться на верх