Gibt es eine Möglichkeit, einen Benutzernamen oder eine ID auf Anwendungsebene (in diesem Fall den Benutzernamen oder die ID von django) in das Apache- oder ngnix-Protokoll zu injizieren? Beachten Sie, dass ich nicht nach dem HTTP-Authentifizierungs-Benutzernamen frage.
Wir machen so etwas, nur sagen wir Apache, dass wir den Django-Sessionid-Cookie speichern sollen.
%Vor%Es ist eine Art zweistufiger Prozess, um die Sitzungs-ID dem Benutzer zuzuordnen, aber es ist einfach zu implementieren. Sie könnten etwas Ähnliches tun, indem Sie ein Cookie mit der expliziten ID darin setzen und dann das benutzerdefinierte Protokoll verwenden, um es zu erfassen.
Ich verwende derzeit eine kurze benutzerdefinierte Middleware, um diese Daten zu Antwort-Headern hinzuzufügen, wie unten:
%Vor% Damit können Sie einfach %{X-Remote-User-Name}o
und %{X-Remote-User-Id}o
verwenden Ihre Apache-Konfiguration (oder ähnlich für nginx) und erhalten Sie die Informationen direkt in Ihre Protokolle.