Debugging with RequestDumperValve
Occasionally you will want to get a more verbose look at web traffic, much like the
telnet and nc
conversations detailed in the last section. Tomcat provides a tool for this very purpose:
the RequestDumperValve. It is very easy to set up; just
uncomment a line in server.xml, or add the line within any Host or Context:
<Valve className="org.apache.catalina.valves.RequestDumperValve" />
Once you restart Tomcat, you will get a very verbose output appearing in the log for the
given Server, Host, or
Context. To get an idea of how much information
RequestDumperValve provides, Example 8-5 is a portion of a 106-line log for
one hit on a web site (every line was preceded by a timestamp, which
we've removed to save paper).
Each request begins with a line of equal signs, and a line of dashes separates the
request and the response. This particular example was a request for /index.jsp.
Example 8-5. RequestDumperValve output for request to /darwinsys/
RequestDumperValve[/darwinsys]: =============================================================== RequestDumperValve[/darwinsys]: REQUEST URI =/darwinsys/index.jsp RequestDumperValve[/darwinsys]: authType=null RequestDumperValve[/darwinsys]: characterEncoding=null RequestDumperValve[/darwinsys]: contentLength=−1 RequestDumperValve[/darwinsys]: contentType=null RequestDumperValve[/darwinsys]: contextPath=/darwinsys RequestDumperValve[/darwinsys]: cookie=JSESSIONID=C04FE083F247D0C7F24174AA8B 78B526 RequestDumperValve[/darwinsys]: ...