본문 바로가기
Middleware/WebtoB

WebtoB Access 로그 포맷 변경 방법 (COMBINED 포맷 등)

by nxCore 2023. 3. 16.

 

WebtoB 에서 기록하는 Access 로그의 포맷을 변경하는 방법에 대한 설명입니다.

WebtoB 는 Apache 와 동일한 형식으로 로그를 기록하고 있으며, 포맷도 동일하게 사용합니다.

 

로그 포맷 설정은 http.m 설정파일의 *LOGGING 절에서 설정할 수 있습니다.

다음은 WebtoB 5 버전의 *LOGGING 절 설정 예시입니다.

*LOGGING
syslog          Format = "SYSLOG",   FileName = "/sw/webtob5/log/system/system_%Y%%M%%D%.log", Option = "sync"
acc_node        Format = "COMBINED", FileName = "/sw/webtob5/log/node/access_%Y%%M%%D%.log", Option = "sync"
err_node        Format = "ERROR",    FileName = "/sw/webtob5/log/node/error_%Y%%M%%D%.log", Option = "sync"

acc_http        Format = "COMBINED", FileName = "/sw/webtob5/log/http/access_%Y%%M%%D%.log", Option = "sync"
err_http        Format = "ERROR",    FileName = "/sw/webtob5/log/http/error_%Y%%M%%D%.log", Option = "sync"
acc_https       Format = "COMBINED", FileName = "/sw/webtob5/log/https/access_%Y%%M%%D%.log", Option = "sync"
err_https       Format = "ERROR",    FileName = "/sw/webtob5/log/https/error_%Y%%M%%D%.log", Option = "sync"

 

WebtoB 동작에 대한 로깅을 위한 SYSLOG 포맷 1개가 설정되어 있고, 나머지는 NODE와 VHOST 에 대한 Access, Error 로그가 설정되어 있습니다.

Access 로그는 COMBINED 포맷으로 되어 있고 Error 로그는 ERROR 포맷으로 되어 있습니다.

Error 로그 포맷도 변경을 할 수 있으나 기본 포맷 사용을 권장합니다.

 

WebtoB 4.x 버전에서는 DEFAULT 포맷 외 다른 Alias 설정이 불가능하므로, COMBINED 포맷으로 설정이 필요한 경우, 다음과 같이 포맷을 직접 설정해주어야 합니다.

*LOGGING
syslog          Format = "SYSLOG",
                FileName = "/sw/webtob5/log/system/system_%Y%%M%%D%.log", Option = "sync"
acc_node        Format = "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\",
                FileName = "/sw/webtob5/log/node/access_%Y%%M%%D%.log", Option = "sync"
err_node        Format = "ERROR",
                FileName = "/sw/webtob5/log/node/error_%Y%%M%%D%.log", Option = "sync"

acc_http        Format = "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\",
                FileName = "/sw/webtob5/log/http/access_%Y%%M%%D%.log", Option = "sync"
err_http        Format = "ERROR",
                FileName = "/sw/webtob5/log/http/error_%Y%%M%%D%.log", Option = "sync"
acc_https       Format = "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\",
                FileName = "/sw/webtob5/log/https/access_%Y%%M%%D%.log", Option = "sync"
err_https       Format = "ERROR",
                FileName = "/sw/webtob5/log/https/error_%Y%%M%%D%.log", Option = "sync"

 

 

다음은 WebtoB 에서 설정할 수 있는 Log Format 목록입니다.

포맷 설명
DEFAULT Default Log File Format이다.
(약자: "%h %t \"%r\" %s %b %D")
COMMON Common Log File Format이다. (WebtoB 5 버전 이상)
(약자: "%h %l %u %t \"%r\" %s %b")
COMBINED Combined Log File Format이다. (WebtoB 5 버전 이상)
(약자: "%h %l %u %t \"%r\" %s %b \"%{Referer}i\" \"%{User-Agent}i\")
COMBINEDIO Combined Log File Format 에 %I, %O 가 추가된 Format이다. (5.0.0.4-B231.0.72 버전/빌드 이상)
(약자: "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\" %I %O")
%a 요청을 보낸 장비의 IP 주소를 표시한다. %h와 동일하다.
%A 서버의 IP 주소를 표시한다. (5.0.0.2 버전 이상)
%b 헤더를 제외한 응답의 Byte를 표시한다.
%c WebtoB 응답 생성 위치를 표시한다.
  • 내부 캐시에서 응답이 생성된 경우 "hc" 로 표시한다.
  • 디스크 캐시에서 응답이 생성된 경우 "dc"로 표시한다.
  • sendfile에서 응답이 생성된 경우 "sf"로 표시한다.
  • sendfile / disk cache 에서 생성된 경우 "sf/dc"로 표시한다.
  • remote 에서 생성된 경우 "hm"로 표시한다.
%{_attr_name_}C HTTP Request의 Cookie Header 값 중 '_attr_name_'에 해당하는 값을 표시한다.
%d 응답이 전송된 시간을 표시한다.
%D 요청을 처리하는데 소요된 시간을 표시한다. (단위: millisecond)
%{ENV_NAME}e 환경변수 ENV_NAME을 출력한다.
%g WebtoB가 내부적으로 사용하는 요청 식별자를 출력한다.
%h 요청을 보낸 장비의 IP 주소를 표시한다.
%H 사용한 HTTP 버전을 표시한다.
%{HEADER_FIELD}i HTTP Request의 HEADER_FIELD Header 값을 표시한다.
예) %{Referer]i = Request 헤더 중 Referer 헤더의 값을 기록한다.
%I 헤더를 포함한 요청 Byte를 표시한다. (5.0.0.4-B231.0.72 버전/빌드 이상)
%{_id_name_}J 요청을 JEUS로 포워딩하여 처리하는 경우 내부적으로 사용하는 요청의 식별정보를 표시한다.
  • _id_name이 JSVCid이면 Client ID이다.
  • _id_name이 JSVReqSeq이면 Request Sequence이다.
%m HTTP Request 메소드를 표시한다.
%O 헤더를 포함한 응답 Byte를 표시한다. (5.0.0.4-B231.0.72 버전/빌드 이상)
%p Request가 도착한 서버의 포트 번호를 표시한다.
%q HTTP Request의 query 값을 표시한다.
%r HTTP Request의 Request line 전체를 표시한다.
%R HTTP Request의 Request line 전체를 표시한다. CheckURL이나 URLRewrite 기능에 의해 변경된 Request line을 표시한다.
%s 응답에 사용된 HTTP Status Code를 표시한다.
%S http와 https를 구분하여 표시한다. (5.0.0.1 버전 이상)
%t 요청처리를 마친 시간을 표시한다.
%T Request를 처리하는 데 소요된 시간을 표시한다. (단위: 초)
%u HTTP 인증에 사용된 user 이름을 표시한다.
%U HTTP Request URI를 표시한다.
%v Host Header 필드 값을 표시한다.
%z 응답이 압축된 경우 압축 전/후의 응답 크기와 압축률을 표시한다.

 

 

댓글