Java 试图获取请求参数以访问tomcat中的日志
我试图调查一个特定的HTTP请求被发送到web站点的频率。该请求是一个POST,具有一个名为Java 试图获取请求参数以访问tomcat中的日志,java,tomcat,tomcat6,tomcat-valve,Java,Tomcat,Tomcat6,Tomcat Valve,我试图调查一个特定的HTTP请求被发送到web站点的频率。该请求是一个POST,具有一个名为“\u method”的参数。我可以从萤火虫的落网中看出这一点 我需要检查此“\u method”参数的值,因此在文档之后,我将以下内容添加到阀门的tomcat访问配置中 %{_method}r 但它不会出现在访问日志中 我想知道这是因为下划线吗 注意,无法更改参数名称 %{xxx}r 用于“ServletRequest中的属性”,而不是HTTP参数(如果您可以在Firebug中看到它,我假设您是指
“\u method”
的参数。我可以从萤火虫的落网中看出这一点
我需要检查此“\u method”
参数的值,因此在文档之后,我将以下内容添加到阀门的tomcat访问配置中
%{_method}r
但它不会出现在访问日志中
我想知道这是因为下划线吗
注意,无法更改参数名称
%{xxx}r
用于“ServletRequest中的属性”,而不是HTTP参数(如果您可以在Firebug中看到它,我假设您是指HTTP参数)。ServletRequest属性将完全是服务器端的,所以您将无法在Firebug中看到它们
如果您想输出HTTP参数(这不是GET,即它们在URL中),我认为您必须使用同一页面上记录的请求转储程序
如果上述内容不清楚,则说明差异。确定,
我要做的就是使用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(_方法)
是给我的关键部分
我会为所有旁观者提供答案。说得好。忘了吧。我想我需要使用ExtendedAccessLogValve。将对此进行测试并使其正常工作,然后发布更新。下面是一个示例,供其他对此有问题的人使用: