我尝试调查特定HTTP请求发送到网站的频率。请求是POST,并且具有名为"_method"
的参数。我可以在萤火虫网上看到这个。
我需要检查此"_method"
参数的值,因此请按照文档http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Access_Log_Valve将以下内容添加到阀门的tomcat访问配置中
%{_method}r
但它并没有出现在访问日志中。
我想知道是因为下划线?
注意,参数名称不能更改。
答案 0 :(得分:6)
行, 我必须做的是使用ExtendedAccessLogValve。
我将以下内容添加到我的server.xml
<Valve className="org.apache.catalina.valves.ExtendedAccessLogValve" directory="logs" pattern="c-dns x-H(remoteUser) date time cs-method cs-uri x-H(protocol) sc-status bytes x-P(_method)" prefix="localhost_extended_access_log." resolveHosts="false" suffix=".txt"/>
部分x-P(_method)
是给我的关键部分。
我为任何旁观者提供答案。
答案 1 :(得分:2)
%{xxx}r
用于“ServletRequest”中的“属性”而不是用于HTTP参数(我认为这意味着你可以在Firebug中看到它)。 ServletRequest属性将完全在服务器端,因此您无法在Firebug中看到它们。
如果你想输出HTTP参数(并且它不是GET,即它们在URL中),我认为你必须使用同一页面上记录的Request Dumper Valve。
如果上述内容不明确,