스프링 부트 Tomcat 액세스 로그
spring boot reference 매뉴얼에 따라 Tomcat 액세스 로그를 활성화했습니다.하지만 제대로 작동하지 않습니다.유효하게 하면, 액세스 로그 파일이 작성되어 그날의 요구가 로그에 기록되어 있는 것을 알 수 있습니다.하지만 다음 날 시작해도 새 파일이 보이지 않습니다.21시에 로깅을 시작했습니다.셋째 날 2시부터 로깅을 시작했습니다.4일째부터는 액세스로그가 생성되지 않습니다.
여기 제가 사용한 물건들이 있습니다.
server.tomcat.access-log-enabled=true
server.tomcat.access-log-pattern=%h %l %u %t "%r" %s %b %D
server.tomcat.basedir=/var/lib/org_name/tracking_server
tracking_server 폴더 로그 및 작업 폴더가 생성되었습니다.
제가 뭔가 놓친 게 있으면 알려주세요.일반 로깅은 logback.xml에서 지정된 설정에 따라 정상적으로 동작하고 있습니다.
잘 부탁드립니다.
이 설정은 스프링 부트버전 1.2.3으로 동작합니다.풀어주다.단, 현재 버전의 스프링부트를 사용하고 있는 경우 이들 파라미터는 약간 다릅니다.여기를 참조해 주십시오.
server.tomcat.accesslog.directory=logs # Directory in which log files are created. Can be relative to the tomcat base dir or absolute.
server.tomcat.accesslog.enabled=false # Enable access log.
server.tomcat.accesslog.pattern=common # Format pattern for access logs.
보시는 바와 같이 하이픈(-)이 다릅니다.
또한 이 문서에 따르면 Tomcat 액세스로그 설정에는 다음 파라미터가 포함됩니다.
- fileDateFormat 입니다.기본값은 yyy-MM-dd 입니다.이는 로그 파일이 매일 변경됨을 의미합니다.yyy-MM-dd로 변경하는 경우.HH, 로그는 매시간 변경됩니다.
- 회전 가능한기본값은 true 입니다.false로 설정하면 파일만 있는 것으로 알고 있습니다.fileDateFormat 파라미터를 사용하지 않습니다.
단, 내 버전의 스프링부트(1.2.3)에서는RELEASE) 클래스 org.springframework.boot.autoconfigure.web.ServerProperties에는 이러한 속성을 변경할 수 있는 값이 없습니다(Tomcat 하위 클래스).org.apache.catalina.valves를 체크하면AccessLogValve는 다음 속성을 변경할 수 있습니다.
/**
* Should we rotate our log file? Default is true (like old behavior)
*/
protected boolean rotatable = true;
/**
* Date format to place in log file name.
*/
protected String fileDateFormat = ".yyyy-MM-dd";
그런 변수들을 가지고 노는 게 좋을 것 같아이 게시물이 당신의 문제를 해결하는 데 도움이 되기를 바랍니다.
언급URL : https://stackoverflow.com/questions/23596157/spring-boot-tomcat-access-logs
'sourcecode' 카테고리의 다른 글
Retrofit & Gson을 사용한 JSON 어레이 응답 해석 (0) | 2023.02.11 |
---|---|
Angularjs 동적으로 설정된 속성 (0) | 2023.02.11 |
jQuery.parseJSON 작은따옴표와 큰따옴표 (0) | 2023.02.11 |
React.render()와 ReactDOM.render() 사이에 차이가 있습니까? (0) | 2023.02.11 |
워드프레스에서 상위 카테고리 ID별로 하위 카테고리를 얻는 방법 (0) | 2023.02.11 |