[java] Tomcat에서의 요청 로그 설정과 분석 방법

Tomcat은 자바 웹 어플리케이션 서버로서 많은 어플리케이션들이 이를 이용해 동작합니다. 이 문서에서는 Tomcat에서 발생하는 요청 로그를 어떻게 설정하고 분석할 수 있는지에 대해 알아보겠습니다.

요청 로그 설정

Tomcat은 기본적으로 Access Log라는 기능을 제공하여 요청 로그를 기록할 수 있습니다. 이 기능을 사용하기 위해서는 server.xml 파일을 열어 수정해야 합니다.

  1. server.xml 파일을 열고 <Engine> 태그 안에 다음과 같은 설정을 추가합니다.
<!-- 요청 로그 설정 -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
     prefix="access_log" suffix=".txt"
     pattern="%h %l %u %t &quot;%r&quot; %s %b" />

위의 설정에서 directory 속성은 로그 파일이 저장되는 디렉토리를 지정하며, prefixsuffix 속성은 로그 파일의 이름을 지정합니다. pattern은 로그 포맷을 지정하는데, %h, %l, %u, %t, %r, %s, %b는 각각 IP 주소, 로그인 유저 이름, 로그인 유저 ID, 요청 시각, 요청 메소드, 응답 상태 코드, 응답 바이트 수를 나타냅니다.

  1. 설정이 완료되면 Tomcat을 재시작합니다.

로그 파일은 directory 속성에 지정한 디렉토리에 생성되며, 요청이 발생할 때마다 로그가 기록됩니다.

요청 로그 분석

Tomcat의 Access Log는 기본적으로 텍스트 파일로 저장됩니다. 이 파일을 분석하기 위해서는 로그 데이터를 읽어오는 프로그램 또는 도구를 사용해야 합니다. 여러 도구 중에서는 다음과 같은 것들이 있습니다.

이러한 도구들을 사용하여 Tomcat의 요청 로그를 읽고 분석하면, 클라이언트 IP 주소, 요청 URL, 응답 상태 코드, 응답 시간 등 다양한 정보를 확인할 수 있습니다.

참고 자료