<Access Log 란?>
Access 로그는 Tomcat server에 접속하는 클라이언트 접속정보를 남기는 로그 파일이라고 할수 있다. 보통 Apache 와 같은 web server에서 access log를 관리하지만, Tomcat 만으로 사이트를 운영하는 경우 server.xml 설정을 통해 웹 로그를 남길수 있다.
< 설정방법>
server.xml 의 <host> </host> 사이에 아래내용을 넣어 기록을 남길수 있다.
<!-- Access logger -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" prefix="access."
suffix=".log" pattern="Date: %t, UserId : %{userid}s, RemoteIP : %a, LocalIP: %A, RemoteHostName : %h, RequestFirstLine : %r"
resolveHosts="false" />
pattern 속성을 이용하면, 여러가지 보고 싶은 정보들로 로그를 구성할수 있다.
pattern 속성의 값은 리터럴 텍스트 문자열로 구성되며, "%"문자로 시작하는 패턴 식별자와 결합되어 변수 값으로 대체된다. Access 로그를 남길시에 다음과 같은 pattern 속성이 지원된다.
<pattern 속성>
%a - Remote IP address
%A - Local IP address
%b - Bytes sent, excluding HTTP headers, or '-' if zero
%B - Bytes sent, excluding HTTP headers
%h - Remote host name (or IP address if enableLookups for the connector is false)
%H - Request protocol
%l - Remote logical username from identd (always returns '-')
%m - Request method (GET, POST, etc.)
%p - Local port on which this request was received. See also %{xxx}p below.
%q - Query string (prepended with a '?' if it exists)
%r - First line of the request (method and request URI)
%s - HTTP status code of the response
%S - User session ID
%t - Date and time, in Common Log Format
%u - Remote user that was authenticated (if any), else '-'
%U - Requested URL path
%v - Local server name
%D - Time taken to process the request, in millis
%T - Time taken to process the request, in seconds
%F - Time taken to commit the response, in millis
%I - Current request thread name (can compare later with stacktraces)
< 참고 apache doc >
tomcat.apache.org/tomcat-9.0-doc/config/valve.html
댓글