Spring
[SpringBoot] tomcat access log 출력
jungmin.park
2024. 1. 9. 00:01
SpringBoot의 web module에 있는 내장 톰캣은 기본적으로 access log를 출력하지 않는다.
다양한 방법으로 access log 혹은 그와 유사한 로그를 남길 수 있지만 전통적인 설치형 tomcat에서 access log를 남기는 것과 동일한 log 출력 방법을 설정해본다.
application.yml 설정
server:
tomcat:
accesslog:
enabled: true
directory: logs
suffix: .log
prefix: access_log
file-date-format: .yyyy-MM-dd
pattern: %{yyyy-MM-dd HH:mm:ss}t %s %r %{User-Agent}i %{Referer}i %a %b %D
max-days: 14
basedir: .
- accesslog.enabled: true # 로그를 사용한다고 지정
- accesslog.directory : logs # springboot 가 실행되는 디렉토리를 기본 디렉토리로 설정
- accesslog.file-data-format : ~ # access log 파일 데이터 포맷 형식
- accesslog.pattern : log 패턴을 지정
일반적인 로그 포맷을 사용하고 싶으면 accesslog.pattern=common 으로 설정하면 된다.
로그 포맷을 확장하고 싶으면 해당 패턴을 사용해 로그 포맷을 커스터마이징 할 수 있다.
%h – 요청을 보낸 클라이언트 IP
%l – 사용자 식별 정보
%u – HTTP 인증에 의해 지정된 사용자 이름
%t – 요청 시간
%r – 사용자 요청 URL
%s – HTTP 응답 코드
%b – 응답 사이즈