IT_Server/Web_Server & WAS

[Tomcat] HTTP Request Logging (HTTP 요청 로깅) : Request Dumper Filter 를 써보자!

JJun ™ 2013. 8. 1. 12:31



 출처: http://egloos.zum.com/oniondev/v/9857196




Tomcat 으로 서비스를 올렸을때 유입되는 모든 HTTP Request 에 대해 호출 기록을 보고싶은 분을 위한 포스팅!!


일단 나같은경우에는 Spring 프로젝트를 War 로 묶어 Tomcat에 얹었다.
그리고 서비스로 들어오는 요청 URL을 모니터링 하고 싶었다.

원문은 여기에 들어가서 Request Dumper Filter 부분을 참고하면 된다.
(https://tomcat.apache.org/tomcat-7.0-doc/config/filter.html#Sample_Configuration)

내용을 간단히 설명하자면, 톰캣에 내장되어있는 필터를 사용하여 서버로 요청이 들어올때마다 그것을 거쳐 가도록 하는 것이다.


1. {TOMCAT_HOME}/conf/logging.properties 에 아래의 코드를 추가


 # To this configuration below, 1request-dumper.org.apache.juli.FileHandler

 # also needs to be added to the handlers property near the top of the file

 1request-dumper.org.apache.juli.FileHandler.level = INFO

 1request-dumper.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

 1request-dumper.org.apache.juli.FileHandler.prefix = request-dumper.

 1request-dumper.org.apache.juli.FileHandler.formatter = org.apache.juli.VerbatimFormatter

 org.apache.catalina.filters.RequestDumperFilter.level = INFO

 org.apache.catalina.filters.RequestDumperFilter.handlers = 1request-dumper.org.apache.juli.FileHandler



2. {TOMCAT_HOME}/conf/web.xml 에 아래의 코드를 추가

<filter>
<filter-name>requestdumper</filter-name>
<filter-class>
org.apache.catalina.filters.RequestDumperFilter
</filter-class>
</filter>
<filter-mapping>
<filter-name>requestdumper</filter-name>
<url-pattern>*</url-pattern>
</filter-mapping>

이렇게 한뒤 톰캣 서버를 구동시켜보자.
그럼 Access Log 파일에서 모든 Request 의 기록을 볼 수 있을것이다.