使用Tomcat(8.0.15)access log valve时,默认的日志记录模式是'%h%l%u%t"%r" %s%b'
我正在使用SPNEGO过滤器来验证用户身份。
带有简单request.getRemoteUser()
的hello.jsp文件确实显示了我的Windows用户名,因此过滤器工作正常。
所以我认为%u会扩展为CGI变量REMOTE_USER,但它只显示一个空白。
我甚至尝试使用%{REMOTE_USER} i和%{REMOTE_USER} s和%{REMOTE_USER} r,但它们都不会在访问日志中显示该值。
我通过添加
启用了Extended Access Log Valve <Valve className="org.apache.catalina.valves.ExtendedAccessLogValve" directory="logs"
prefix="extended_access_log" suffix=".txt"
pattern="c-ip x-H(remoteUser) date time cs-method cs-uri cs-uri-query cs-uri-stem sc-status bytes" />
conf/server.xml
中但仍然没有。
以下是我在扩展访问日志中获得的内容
xx.xx.xx.xx - 2014-11-25 19:55:43 GET /hello.jsp - /hello.jsp 200 102
并在我的访问日志中
xx.xx.xx.xx - - - [25/Nov/2014:14:55:43 -0500] "GET /hello.jsp HTTP/1.1" 200 102
我错过了什么?这是时间问题吗?在写入访问日志条目后,过滤器是否设置REMOTE_USER ?
任何帮助表示感谢。
由于