Django Logger:如何记录用户名
我试图在Django项目中实现日志记录(Django Logger:如何记录用户名,django,python-3.x,django-rest-framework,django-middleware,Django,Python 3.x,Django Rest Framework,Django Middleware,我试图在Django项目中实现日志记录(Django 1.11,Python3.6)。我使用默认的django记录器 为了在日志中获取用户名,我使用了。 到目前为止,除了管理员超级用户之外,我没有其他用户 当我在前端尝试GET请求时,会出现一个错误,说明“LogSetupMiddleware”不可调用。 这个错误的原因是什么?我如何使日志工作 如何在日志中获取匿名用户 文件settings.py代码段: INSTALLED_APPS= [ ... 'django_requestl
Django 1.11
,Python3.6
)。我使用默认的django记录器
为了在日志中获取用户名
,我使用了。
到目前为止,除了管理员超级用户之外,我没有其他用户
当我在前端尝试GET请求时,会出现一个错误,说明“LogSetupMiddleware”不可调用。
匿名用户
INSTALLED_APPS= [
...
'django_requestlogging',
]
MIDDLEWARE = [
...
'django_requestlogging.middleware.LogSetupMiddleware',
...
]
LOGGING = {
'version': 1,
'formatters': {
'standard' : {
'format': '%(asctime)s %(username)s %(request_method)s',
},
},
}
正如我所看到的,中间件类实际上是不可调用的。要修复它,您必须像这样重写该类:
some/middlware/path.py
并将settings.py中的中间件路径替换为新路径:
some.middleware.path.LogSetupMiddleware
from django.utils.deprecation import MiddlewareMixin
from django_requestlogging.middleware import LogSetupMiddleware as Original
class LogSetupMiddleware(MiddlewareMixin, Original):
pass