How to create new log file for every user by logging Django

Question:

I have logger for every user if he`s log in and log out

How am i suppose to say logger create every time new file for each user with his nickname. I dont need all info about all users in one log file i want to split it by different files

settings.py

LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'formatters': {
        'log_in_out_format': {
            'format': '{levelname} {asctime} {module} {process:d} {thread:d} {message}',
            'style': '{',
        },
    },
    'handlers': {
        'log_in_out_file': {
            'level': 'INFO',
            'class': 'logging.FileHandler',
            'filename': 'loggers/log_in_out/log.log',
            'formatter': 'log_in_out_format',
        },
    },
    'loggers': {
        'authentication': {
            'handlers': ['log_in_out_file'],
            'level': 'INFO',
            'propagate': False,
        }
    },
}

in views.py i have something like that:

login(request, user)
logger.info(f'{request.user.email} logged in ')
logger.warning(f'{request.user.email} logged out')
logout(request)
Asked By: Kirill_N

||

Answers:

I dont think its possible bcs logger can create one log file and it cant handle creating multiple log files for different users

You can try to create method to save info about log in/log out in your db its gotta be better

Answered By: Zesshi