2012-07-03 1 views
2

Я пытаюсь выяснить, как часто HTTP-запрос отправляется на веб-сайт. Запрос является POST и имеет параметр с именем "_method". Я вижу это в firebug, чистке.Попытка получить параметр запроса для доступа к журналу tomcat

мне нужно проверить значение этого параметра "_method", поэтому после документации http://tomcat.apache.org/tomcat-6.0-doc/config/valve.html#Access_Log_Valve я добавить следующие конфигурации доступа TOMCAT для клапана

%{_method}r 

Но это не выходит в журналах доступа.

Интересно, что из-за подчеркивания?

Обратите внимание: имя параметра не может быть изменено.

ответ

2
%{xxx}r 

используется для «атрибута в ServletRequest» не для параметров HTTP (которые, что я предполагаю, что вы имеете в виду, если вы можете увидеть его в Firebug). Атрибуты ServletRequest будут полностью серверными, поэтому вы не сможете их увидеть в Firebug.

Если вы хотите вывести параметры HTTP (и это не GET, то есть они находятся в URL-адресе), я думаю, вам нужно будет использовать Valper Valve для документирования на той же странице.

Difference between getAttribute() and getParameter() объясняет разницу, если вышеуказанное не ясно.

+0

Хорошая точка. Забыл об этом. Думаю, мне нужно использовать ExtendedAccessLogValve. Будет проверять это и заставить его работать, а затем публиковать обновления. – dublintech

+0

Вот пример для тех, у кого есть проблемы с этим: ' ' –

6

ОК, Мне нужно было использовать 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(_method) является важной частью, которая дала мне.

Я включаю ответ для любых наблюдателей.