비단 Tomcat 의 catalina.out 뿐만 아니라 모든 생성되는 로그파일에도 적용이 가능한부분입니다.

대부분의 개발에서는 log4j, logback등의 설정을 이용해서 일자별 파일로그를 쌓긴 합니다만

이런 설정이 미적용된 시스템에서는 유용할듯 합니다.

 

linux의 /etc/logrotated.d/  디렉토리에 가면 시스템에서 관리하는 스케쥴러에 의해 로그를 관리하도록 설정이 가능합니다.

yum, syslog numad 같은 파일이 생성되어 있습니다.

이곳에 tomcat 로그용으로 하나 추가하도록 합니다. 설정은 아래것을 그대로 사용해도 무방할듯 합니다.

 

/]#cd /etc/logrotated.d

/]#cat > tomcat
 /data/was/tomcat8/logs/catalina.out{
  copytruncate
  daily
  rotate 30
  compress
  missingok
  notifempty
  delaycompress
  dateext
 }

(위에서 내용저장 후 빠져나오는 명령어는 Ctrl + d 입니다. 이후 수정은 vi로 해도 됩니다.)

 

잘 적용되는제 미리 테스트는 아래와 같이 합니다.

/]#logrotate -f /etc/logrotate.d/tomcat

아래와 같이 로그위치에 일자별 로그파일이 생성되어 있는지 확인합니다.

로그파일 생성결과

catalina.out.1 과 같은 형식으로 생성된 것은 dateext 옵션을 뺀 경우임.

 

그외 apache/logrotate를 활용하는 방법도 있는데, apache가 설치되어 있지 않아 위 방법을 적용.