
CustomLog directive는 Apache 서버에서 로그를 기록하는 데 사용됩니다. 로그 파일의 위치를 지정할 때는 `file` 옵션을 사용합니다. 예를 들어, `/var/log/apache2/access.log`로 로그 파일을 지정하려면 `CustomLog "/var/log/apache2/access.log" combined`라고 작성합니다.
로그 형식을 지정할 때는 `%h`, `%r`, `%t`, `%u`, `%U`, `%q`, `%m`, `%H`, `%s`, `%b`, `%T`, `%D`, `%P`, `%{Referer}i`, `%{User-Agent}i` 등 다양한 옵션을 사용할 수 있습니다.
- `%h` : 클라이언트의 IP 주소
- `%r` : 요청된 URL 및 HTTP 프로토콜 버전
- `%t` : 요청 시간
- `%u` : 클라이언트의 인증된 사용자 이름
- `%U` : 요청된 URL의 URI
- `%q` : 요청된 URL의 쿼리 문자열
- `%m` : 요청된 HTTP 메서드
- `%H` : 요청된 URL의 호스트 이름
- `%s` : 서버의 HTTP 상태 코드
- `%b` : 요청된 URL의 바디 크기
- `%T` : 요청 처리 시간
- `%D` : 요청 처리 시간 (毫秒)
- `%P` : 서버의 프로세스 ID
- `%{Referer}i` : 클라이언트의 Referer 헤더
- `%{User-Agent}i` : 클라이언트의 User-Agent 헤더
예를 들어, 다음은 요청된 URL 및 HTTP 프로토콜 버전만 기록하는 로그 형식입니다.
`CustomLog "/var/log/apache2/access.log" "%r"`
다음은 요청된 URL 및 HTTP 프로토콜 버전, 클라이언트의 IP 주소, 요청 시간, 서버의 HTTP 상태 코드를 기록하는 로그 형식입니다.
`CustomLog "/var/log/apache2/access.log" "%r %h %t %s"`
다음은 요청된 URL 및 HTTP 프로토콜 버전, 클라이언트의 IP 주소, 요청 시간, 서버의 HTTP 상태 코드, 요청된 URL의 URI, 요청된 URL의 쿼리 문자열, 요청된 HTTP 메서드, 요청된 URL의 호스트 이름, 요청된 URL의 바디 크기, 요청 처리 시간을 기록하는 로그 형식입니다.
`CustomLog "/var/log/apache2/access.log" "%r %h %t %s %U %q %m %H %b %T"`
이러한 옵션을 조합하여 다양한 로그 형식을 지정할 수 있습니다.
2025-05-08 09:12