【发布时间】:2011-07-28 06:03:54
【问题描述】:
我想将请求和响应的日志记录添加到我在 Tomcat 6 中运行的 Java webapp。其目的是生成一个日志文件,其输出类似于 Wireshark 将显示的内容。例如:
GET / HTTP/1.1
Host: www.bing.com
Connection: keep-alive
Cache-Control: max-age=0
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US) AppleWebKit/534.16 (KHTML, like Gecko) Chrome/10.0.648.204 Safari/534.16
Accept: application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Accept-Encoding: gzip,deflate,sdch
Accept-Language: en-GB,en-US;q=0.8,en;q=0.6
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3
我认为最好的方法是使用过滤器来捕获传入的 HttpServletRequest 并包装 HttpServletResponse 以允许捕获响应内容。
但是,一旦我有一个 HttpServletRequest 和 HttpServletResponse ,有没有一种标准方法可以漂亮地打印这些对象,因为它们出现在网络上?
【问题讨论】: