WEB,WAS

[WEB/WAS] Nginx log_format 사용 방법

IT-PAPA 2023. 5. 16. 06:02
728x90
반응형

log_format은 NGINX에서 로그 출력 형식을 정의하는 지시어입니다. 이를 사용하면 로그 파일에 출력되는 정보의 형식을 커스터마이징할 수 있습니다.

log_format 지시어를 사용하는 방법은 다음과 같습니다.

http {
    ...
    log_format my_log_format '$remote_addr - $remote_user [$time_local] '
                              '"$request" $status $body_bytes_sent '
                              '"$http_referer" "$http_user_agent"';
    ...
}


위의 예제에서 log_format 지시어는 my_log_format이라는 이름을 가지고 있습니다. 이 이름은 해당 로그 출력 형식을 식별하는 데 사용됩니다.

로그 형식 문자열에서 $remote_addr, $remote_user, $time_local 등은 로그 파일에 출력될 필드를 정의합니다. 이 필드는 다음과 같습니다.

$remote_addr: 클라이언트 IP 주소
$remote_user: 인증된 사용자 이름 (없으면 '-')
$time_local: 로컬 타임존에 따른 현재 시간 (형식: [dd/MMM/yyyy:HH:mm:ss +zzzz])
$request: 요청 메소드, 요청 URL 및 HTTP 버전
$status: HTTP 상태 코드
$body_bytes_sent: 클라이언트로 전송된 응답 바이트 수
$http_referer: 이전 페이지 URL
$http_user_agent: 사용자 에이전트 문자열


각 필드는 로그 출력 형식에 포함시키거나 제외시킬 수 있습니다. 필요한 필드를 조합하여 로그 형식 문자열을 구성하면 됩니다.

log_format 지시어에서 정의한 로그 형식 문자열은 access_log 지시어에서 사용할 수 있습니다. access_log 지시어는 로그 파일에 기록되는 접근 로그의 위치와 로그 형식을 설정합니다.

http {
    ...
    log_format my_log_format '$remote_addr - $remote_user [$time_local] '
                              '"$request" $status $body_bytes_sent '
                              '"$http_referer" "$http_user_agent"';
    ...
    server {
        ...
        access_log /var/log/nginx/access.log my_log_format;
        ...
    }
}


위의 예제에서 access_log 지시어는 /var/log/nginx/access.log 파일에 접근 로그를 기록합니다. 또한, my_log_format 로그 형식을 사용합니다.

따라서, log_format 지시어를 사용하여 로그 출력 형식을 정의하고, access_log 지시어에서 해당 로그 형식을 사용하여 접근 로그를 기록하면 됩니다.

728x90
반응형
LIST