0

複数のユーザーをサポートする django Web アプリケーションを開発しています。アプリケーションの要件の 1 つは、ユーザー固有のログ ファイルを持つことです。たとえば、'xyz' と 'abc' という名前のユーザーがいる場合、'xyz.log' と 'abc.log' に対応するログ ファイルが存在するはずです。現在、settings.pyに次の追加を行うことで、アプリケーション全体のログ ファイルを作成できます。

import logging
logging.basicConfig(level=logging.DEBUG,format='%(asctime)s ::%(funcName)s ::[%(levelname)s] ::%(message)s',datefmt='%a, %d %b %Y %H:%M:%S',filename='/project.log', filemode='w')
.
.
.
//some other settings
.
.
.
LOGGING = {
    'version': 1,
    'disable_existing_loggers': False,
    'filters': {
        'require_debug_false': {
            '()': 'django.utils.log.RequireDebugFalse'
        }
    },
    'handlers': {
        'mail_admins': {
            'level': 'ERROR',
            'filters': ['require_debug_false'],
            'class': 'django.utils.log.AdminEmailHandler'
        },

        'console':{
            'level':'ERROR',
            'class':'logging.StreamHandler'
           }
    },
    'loggers': {
        'django.request': {
            'handlers': ['mail_admins'],
            'level': 'ERROR',
            'propagate': True,
        },

        'django': {
        'handlers':['console'],
        'propagate': True,
        'level':'ERROR',
    },
    }
}

特定のユーザーに対して同じことを行うにはどうすればよいですか? 以下は私の関連するviews.pyです:

def login_check(request):
    if request.method == 'POST':
        username = request.POST['username']
        password = request.POST['password']
        try:
            user = Application_User.objects.get(user_name=username, passwd=password)
        except Application_User.DoesNotExist:
            error_message = "**Incorrect login. Please try again."
            context = {'error_message' : error_message}
            return render_to_response('vsawebauto/login.html',context, context_instance=RequestContext(request))
        else:
            //this is where I need to create the logger file and begin user specific logging
4

1 に答える 1