Take the 2-minute tour ×

Is there a way in which user-name or user-id can be stored in nginx logs. I tried inserting $remote_user in the log_format directive but it doesn't seem to work.

share|improve this question

1 Answer 1

up vote 3 down vote accepted

Yes, this is possible. However, since you aren't using HTTP basic auth, you will need your application to tell Nginx what the current username is. Add a response header along the lines of:

X-Username: nishant

Then in your log_format directive, use the variable $sent_http_x_username. This behavior is documented here: http://wiki.nginx.org/HttpCoreModule#.24sent_http_HEADER

I also recommend removing this extra header from the response before sending it to the client. You can do this with the NginxHttpHeadersMoreModule.

more_clear_headers 'X-Username';
share|improve this answer
Can you please tell me how to add a response header? –  nishant Jun 10 at 18:45
@nishant That depends entirely on your code. You will have to write something or modify what you have to output the username in the response header. –  Brad Jun 10 at 18:46
The web application is based on django. –  nishant Jun 10 at 18:48
@nishant I haven't written anything with Django so I can't give you specific advice, but it looks like it supports middleware. I would write a middleware module that takes care of adding the extra header. –  Brad Jun 10 at 18:51

Your Answer


