OPS

[Tomcat] Tomcat 로그에 대하여

찻잔속청개구리 2023. 8. 5. 22:33
반응형

운영 업무에서 Tomcat 로그에 대한 이해가 어느정도 요구되는데요~

아직 배워야할 부분이 많지만 지금까지 알게된 내용을 정리해봤습니다.


목차

1. ${INSTANCE_DIR}/conf/logging.properties VS WEB-INF/classes/logging.properties

2. log 파일 종류

3. logrotate로 톰캣 로그 관리


${INSTANCE_DIR}/conf/logging.properties VS WEB-INF/classes/logging.properties

  • ${INSTANCE_DIR}/conf/logging.properties : Java Logging 에 대한 설정 파일. 이 파일 경로는 Tomcat 에 의하여 java.util.logging.config.file 이라는 JVM 시스템속성으로 정의되어 있다. (만일 이 속성이 없다면 default ${JAVA_HOME}/lib/logging.properties 를 사용하게 된다.)
  • WEB-INF/classes/logging.properties : 각 애플리케이션의 설정 파일. 애플리케이션 별로 달라질 수 있다. (애플리케이션 로그를 log4j로 관리하는 경우 lolog4j2.xml 파일이 WEB-INF/classes 폴더에 있음을 확인할 수 있다.)

 

log 파일 종류

  • catalina.out
    • Tomcat 기동 시 ${INSTANCE_DIR}/bin/catalina.sh 에 의해 생성되는 로그 파일. 기본적으로 서버상 발생한 모든 내용을 기록 한다.
    • 별도의 설정이 없을 때 이 파일의 크기는 무한정 증가
    • ServerDown 으로 종료(과부하로 인해 메모리 힙덤프를 남겼을때)시, Startup 시점에 덮어쓰기 되므로 주의한다.
  • catalina.yyyy-mm-dd.log
    • ${INSTANCE_DIR}/conf/logging.properties 에 의하여 생성/제어 되는 로그 파일
    • Tomcat 에서 생성하는 로그만을 기록 한다. Tomcat System log
  • manager.yyyy-mm-dd
  • localhost_access_log.yyyy-mm-dd
  • localhost.yyyy-mm-dd
  • host-manager.yyyy-mm-dd

 

logrotate로 톰캣 로그 관리

  • 최대 개수를 초과했을 때 가장 오래된 로그 파일을 삭제하고 새로운 로그 파일을 생성하면서 rotating 해주는 툴
  • /etc/logrotate.d/* 밑에 파일을 두면 자동으로 셋팅된다. logrotate.conf 에서 /etc/logrotate.d/* 파일들을 include 하고 있기 때문
vi /etc/logrotate.d/tomcat

${톰캣경로}/logs/catalina.out {
 copytruncate
 daily
 size 100M
 rotate 30
 compress
 missingok
 notifempty
 dateext
}

copytruncate : 기존 파일을 백업해서 다른 파일로 이동하고 **기존 파일은 지워버리는 옵션**
daily : 로그파일을 **날짜별로 변환**
compress : 지나간 로그파일들을 gzip으로 압축
dateext : 순환된 로그파일의 날짜확장자
missingok : **로그파일이 없더라도 오류를 발생시키지 않음**
rotate 30 : 로그 파일은 30개만큼 저장된 다음 제거 #날짜 아니고 개수 임
notifempty : 파일 비어있으면 새로운 로그 파일을 생성 안함
postrotate-endscript : 로그파일 처리 후에 해당 명령어를 실행
size 100M :   사이즈가 100M가 되면 로테이트 됨

테스트 실행명령:
/usr/sbin/logrotate -f /etc/logrotate.d/tomcat

 

참고 블로그 : 

https://cassandra.tistory.com/5

 

Tomcat Log 파일 종류

개요 로그 파일 분석 요청을 처리하던 중 생성원리 및 설정이 궁금해 정리한다. 1. Tomcat 에서 log를 기록하는 방식, JULI Java 1.4 부터 java.util.logging이라는 java Logging Framework이 제공되었다. 여러 장점

cassandra.tistory.com

 

읽어주셔서 감사합니다.

반응형