使用以下命令:
gunicorn --workers=4 my_project.wsgi -b 0.0.0.0:8000 --log-level=info --access-logfile=my_project/logs/gunicorn_logs.txt
我能够记录每个请求。但是,这些日志不包含有关用户的信息:
127.0.0.1 - - [02/Aug/2018:13:46:44 -0500] GET /metrics/data HTTP/1.1 200 1589185 http://localhost:8000/ Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.140 Safari/537.36
默认格式字符串为%(h)s %(l)s %(u)s %(t)s "%(r)s" %(s)s %(b)s "%(f)s" "%(a)s"
,如果我正确理解documentation,则“用户名”应显示在“引荐来源地址”之后和“请求日期”之前。 。我还将该格式字符串作为run命令的一部分包括在内,只是为了验证是否发生了相同的事情。
我是否可以让Gunicorn也记录发出请求的用户?任何帮助将不胜感激。
这正在运行Gunicorn 19.7.1和Django 1.11.9。
答案 0 :(得分:1)
从the gunicorn source code看,这似乎仅适用于HTTP基本认证用户名。如今,这不是一种非常常见的身份验证方法,并且django具有自己的用户身份验证,与基本身份验证无关。
除非您出于某种原因使用基本身份验证,否则期望值为-
。如果要为每个请求记录django用户,则必须使用django自己的日志记录。