有没有办法将应用程序级别的用户名或 ID(在本例中为 django 用户名或 ID)注入(inject) Apache 或 ngnix 日志?请注意,我不是在询问 HTTP auth 用户名。
最佳答案
我目前正在使用一个简短的自定义中间件将此数据添加到响应 header 中,如下所示:
from django.utils.deprecation import MiddlewareMixin
class RemoteUserMiddleware(MiddlewareMixin):
def process_response(self, request, response):
if request.user.is_authenticated:
response['X-Remote-User-Name'] = request.user.username
response['X-Remote-User-Id'] = request.user.id
return response
有了这个,你可以使用 %{X-Remote-User-Name}o
and %{X-Remote-User-Id}o
在您的 Apache 配置(或类似的 nginx 配置)中,并将信息直接放入您的日志中。
关于django - 将应用程序级别的用户名/用户 ID 注入(inject) nginx/Apache 日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6821029/