보통 Request / Response / Error 관련 로그설정을 할때 Log parameter
CustomLog "| /usr/local/sbin/cronolog ./ssl_request.log.%Y%m%d" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b %T/%D" |
Common Log 형식은 다음과 같다.
- (%t)
- [10/Oct/2000:13:55:36 -0700]
- (%h)
- 127.0.0.1
- (%{SSL_PROTOCOL}x
- TLSv1.2
- %{SSL_CIPHER}x
- ECDHE-RSA-AES128-GCM-SHA256
- (
\"%r\"
) - "GET /apache_pb.gif HTTP/1.1"
- (%b)
- 2326
- (0/424895)
- %T
- 0
- %D
- 424895
day = 숫자 2개 month = 숫자 3개 year = 숫자 4개 hour = 숫자 2개 minute = 숫자 2개 second = 숫자 2개 zone = (`+' | `-') 숫자 4개 로그 형식문자열에 %{format}t를 사용하여 다른 형식으로 시간을 출력할 수 있다 |
서버에 요청을 한 클라이언트(원격 호스트)의 IP 주소이다. |
SSL 설정에서 사용하는 Protocol version |
SSL에서 사용하는 암호화 알고리즘 |
클라이언트의 요청줄이 쌍따옴표로 묶여있다. 요청줄은 매우 유용한 정보를 담고 있다. 첫째, 클라이언트가 사용한 메써드는 |
마지막 항목은 응답 헤더를 제외하고 클라이언트에게 보내는 내용의 크기를 나타낸다. 클라이언트에게 보내는 내용이 없다면 이 값은 " |
%T: The time taken to serve the request, in seconds. 요청을 처리하는데 걸린 시간 (초) |
%D: The time taken to serve the request, in microseconds. 요청을 처리하는데 걸린 시간(마이크로초) |
세상을 넓고, 오픈소스에 알아야 할 내용도 많다.. ㅎㅎㅎ
로그포맷에서 사용하는 포맷은 다음과 같습니다 :
포맷 | 의미 |
%a | 원격지 IP 주소 |
%A | 로컬 IP 주소 |
%B | HTTP 헤더를 제외하고 전송된 바이트 |
%b | HTTP 헤더를 제외하고 전송된 바이트. CLF 포맷에서는 , 전송된 것이 없을 경우 0 으로 표시하기 보다는 ‘-‘ 로 표시한다. |
%{FOOBAR}e | 서버에 의해 지정된 환경변수 |
%f | 파일 이름 |
%h | 원격지 호스트 |
%H | 요청한 프로토콜 |
%{Foobar}i | Foobar 의 내용: 클라이언트에서 서버로 요청된 헤더라인으로 예를 들자면, Referer 헤더일 경우 %{Referer}i 로 사용되어 진다. |
%l | 원격지 사용자이름 (이것이 사용되어 지기 위해서는 IdentityCheck 가 반드시 enable 되어져 있어야 한다) |
%m | 요청방식 |
%{Foobar}o | 서버에서 응답되어 지는 HTTP 헤더. 예를들면 : %{Content-Type}o, %{Last-Modified}o |
%p | 요청을 처리하는 서버의 참조적인 포트 |
%P | 현 요청을 처리하고 있는 아파치 자식 프로세서의 프로세스 ID |
%q | 쿼리 문자열 (쿼리가 있을 경우 “?” 뒤로 쿼리문이 포함되며 그렇지 않을 경우 공백으로 처리된다) |
%r | HTTP 메소드를 포함한 요청의 첫 라인 |
%s | HTTP 상태코드. 만약 클라이언트의 요청이 내부적인 리다이렉트를 발생시켰을 경우 %s 는 초기 요청의 상태코드를 %>s 는 최종상태 코드를 포함하게 된다. 일반적으로, %s 의 사용 보다는 %>s 가 유용하다. |
%t | 요청한 시간과 날짜 (standard english format) |
%{format}t | strftime() function 을 이용한 포맷형식에 따른 시간 [Day/Month/Year:Hours:Minutes:Seconds Time Zone] |
%T | 요청을 처리하는데 걸린 시간 (초) |
%u | 인증이 요청된 원격 사용자 이름 |
%U | 요청된 URL |
%v | 요청을 처리하는 서버의 참조적인 서버 이름 |
%V | UseCanonicalName 설정에 따른 서버 이름 |