在Tomcat 7中替换RequestDumperValve

Ste*_*n C 22 logging tomcat tomcat7

Tomcat 7不支持Tomcat 6及更早版本可用的RequestDumperValve.

它在Tomcat 7中的推荐替代品是什么?

Ste*_*n C 23

为了回答我自己的问题,更广泛的谷歌搜索提出了这个问题:

RequestDumperValve已取代RequestDumperFilter,努力与过滤器更换阀门更加规范兼容,因此也更灵活的一部分.这是你想要的类:org.apache.catalina.filters.RequestDumperFilter

另请参阅:http: //tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Request_Dumper_Filter

请注意,您现在将在web.xml中配置此组件,而不是在context.xml中.

  • 我修改了tomcat7/conf/web.xml(添加了dumper过滤器,试过"/*"和"*"模式),修改了conf/logging.properties.我得到的只是一个空的logs/request-dumper.log文件.没有,如果实际记录. (2认同)

roc*_*wse 20

作为原始答案的补充,这里有一些细节.除非您熟悉在Tomcat 7中设置logging.properties文件的方式,否则还不完全清楚如何配置并实际转储到文件中.以下是我如何使转储器工作:

  1. 配置web.xml,如tomcat 7.0 docs链接中所示
  2. 修改logging.properties,如下所示:

一个.将请求转储程序文件处理程序添加到处理程序列表中

handlers = ... , 5request-dumper.org.apache.juli.FileHandler, ...
Run Code Online (Sandbox Code Playgroud)

湾 为请求转储程序日志文件添加适当的文件处理代码

# request dumper configuration
5request-dumper.org.apache.juli.FileHandler.level = INFO
5request-dumper.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
5request-dumper.org.apache.juli.FileHandler.prefix = request-dumper.
5request-dumper.org.apache.juli.FileHandler.formatter = org.apache.juli.VerbatimFormatter
org.apache.catalina.filters.RequestDumperFilter.level = INFO
org.apache.catalina.filters.RequestDumperFilter.handlers = 5request-dumper.org.apache.juli.FileHandler
Run Code Online (Sandbox Code Playgroud)

我认为关键步骤是添加对"处理程序"列表的引用.如果您只是添加具有日志记录配置的部分,则它似乎不会获取更改并创建文件.

-岩石