Apache access log format
Apache Access log format
- LogFormat 옵션 설명
%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 설정에 따른 서버 이름 |
httpd.conf
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
host설정
CustomLog 홈경로/www_log/access_log [combined, common, referer, agent]중 선택로그를 남기는 방법
로그레벨은 ‘LogLevel’ 을 통해 레벨을 결정, debug 와 같은 레벨을 선택하게 되면 아파치에서 발생하는 모든 에러메시지와 간단한 내용들도 로그에 남게 되므로, 자원의 공간 및 프로세스 타임을 낭비하는 결과를 초래하게 됩니다.
로그를 남기는 방법
로그레벨은 ‘LogLevel’ 을 통해 레벨을 결정, debug 와 같은 레벨을 선택하게 되면 아파치에서 발생하는 모든 에러메시지와 간단한 내용들도 로그에 남게 되므로, 자원의 공간 및 프로세스 타임을 낭비하는 결과를 초래하게 됩니다.
httpd.conf 설정
LogLevel [Emerg, Alert, Crit, Error, Warn, Notice, Info, Debug]중 선택
Emerg |
불안정한 시스템 상황 |
Alert |
즉각적인 조치 필요 |
Crit |
중대한 에러 |
Error |
비교적 중대하지 않은 에러 |
Warn |
경고 |
Notice |
중대한 것은 아닌 일반적인 메시지 |
Info |
정보 |
Debug |
디버그 레벨 |