Замена для RequestDumperValve в Tomcat 7

Tomcat 7 не поддерживает RequestDumperValve, который был доступен Tomcat 6 и ранее.

Какова его рекомендуемая замена в Tomcat 7?

Ответ 1

И чтобы ответить на мой собственный вопрос, более обширный Googling придумал это:

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.

Ответ 2

Как дополнение к исходному ответу, вот немного более подробно. Не совсем понятно, как получить эту настройку и фактически сбрасывать файл, если вы не знакомы с тем, как файл logging.properties настроен в Tomcat 7. Вот как я смог получить работу самосвала:

  • Настройте web.xml, как показано в ссылке на документы tomcat 7.0
  • Измените logging.properties следующим образом:

а. Добавьте обработчик обработчика dumper запроса в список обработчиков

handlers = ... , 5request-dumper.org.apache.juli.FileHandler, ...

б. Добавьте в соответствующий код обработки файлов для файла журнала дампера

# 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

Я считаю, что ключевым шагом является добавление вашей ссылки на список "обработчики". Если вы просто добавите раздел с конфигурацией ведения журнала, он, похоже, не подберет изменения и не создаст файл.

-Rock