tomcat日志记录nginx的真实ip
   proxy_pass http://test/wdzj/;
              proxy_set_header Host $host:$server_port;
              proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; #如果没有跳转机,这一段替换为proxy_set_header X-Real-IP $remote_addr;

| 
 %a  | 
 这是记录访问者的IP,在日志里是127.0.0.1  | 
| 
 %A  | 
 这是记录本地服务器的IP,在日志里是192.168.254.108  | 
| 
 %b  | 
 这是发送信息的字节数,不涵括http头,如果字节数为0的话,显示为-  | 
| 
 %B  | 
 看tomcat的解释,没看出来与b%的区别,但我这里显示为-1,没想明白,望知道者告知,我把官方解释贴出来吧 Bytes sent, excluding HTTP headers  | 
| 
 %h  | 
 这个就是服务器名称了,如果resolveHosts为false的话,这里就是IP地址了,我的日志里是127.0.0.1  | 
| 
 %H  | 
 访问者使用的协议,这里是HTTP/1.1  | 
| 
 %l  | 
 这个也不太清楚,官方也说这个always return ‘-‘ 官方解释:Remote logical username from identd (可能这样翻译:记录浏览者进行身份验证时提供的名字)(always returns ‘-‘)  | 
| 
 %m  | 
 访问的方式,是GET还是POST,我这是GET  | 
| 
 %p  | 
 本地接收访问的端口,呵呵,我这里是80啦  | 
| 
 %q  | 
 比如你访问的是aaa.jsp?bbb=ccc,那么这里就显示?bbb=ccc,明白了吧,这个q是querystring的意思  | 
| 
 %r  | 
 官方解释:First line of the request (method and request URI),不是很明白  | 
| 
 %s  | 
 这个是http的状态,我这里返回的是304,咱们经常看见访问某个网页报错误500什么的,那也会返回500  | 
| 
 %S  | 
 用户的session ID,这个session ID大家可以另外查一下详细的解释,反正每次都会生成不同的session ID  | 
| 
 %t  | 
 这就是时间啦,好像有一个Common Log Format可以改,不过我没找到  | 
| 
 %u  | 
 得到了验证的访问者,否则就是"-"  | 
| 
 %U  | 
 访问的URL地址,我这里是/rightmainima/leftbott4.swf  | 
| 
 %v  | 
 服务器名称,可能就是你url里面写的那个吧,我这里是localhost  | 
| 
 %D  | 
 官方解释:Time taken to process the request, in millis,应该是访问发生的时间,以毫秒记  | 
| 
 %T  | 
 官方解释:Time taken to process the request, in seconds,应该是访问发生的时间,以秒记  | 
原文:http://www.cnblogs.com/zenghui940/p/4244309.html