톰캣(Tomcat) 로그

리눅스에서 작동되는 톰캣(Tomcat) 8.5 환경에서의 톰캣 로그에 관한 정보를 정리한다.​

 


# 톰캣 로그 종류

(1) catalina.out

– 리눅스에서 톰캣을 실행할 때 console 출력을 기록한다. standard output, standard error에 기록된 모든 내용

– 설정 : catalina.sh, logging.properties

(2) catalina.YYYY-MM-DD.log

– 톰캣에서 생기는 로그만을 기록한다. 서버의 기동, 정지, 서비스의 개시, 정지 정보

– 설정 : logging.properties

(3) host-manager.YYYY-MM-DD.log

– Tomcat Host Manager Web app 로그 (가상호스트매니저)

– 설정 : logging.properties

(4) manager.YYYY-MM-DD.log

– Tomcat Manager Web App 로그 (웹콘솔)

– 설정 : logging.properties

(5) localhost.YYYY-MM-DD.log

– host( VirtualHost 같은) 한정한 로그

– 설정 : logging.properties


(6) localhost_access_log.YYYY-MM-DD.txt

– 톰캣에 액세스한 기록. 어느 host에서 언제, 어떤 방식으로 요청했는지 기록

– 설정 : server.xml​

 


# catalina.out 로그 로테이션

위의 톰캣 로그 종류 중 catalina.out 는 다른 로그와는 달리 날짜별로 분리되지 않는다. 따라서 필요에 따라 이를 날짜별로 분리하는 과정이 필요할 수 있다.

(1) logrotate 데몬으로 로그 로테이션

– /etc/logrotate.d/ 에 관련 설정 파일을 생성한다. 예를 들면 /etc/logrotate.d/tomcat-8.5

​- 위의 tomcat-8.5 파일에 다음의 내용처럼 상황에 맞게 설정한다.

vi /etc/logrotate.d/tomcat-8.5

/{PATH_TO_CATALINA_LOG_FILE}/catalina.out {
copytruncate
daily
rotate 30
compress
missingok
}
copytruncate : 기존 파일을 다른 파일로 복사하고 기존 파일의 내용은 지워버림

daily : 로그파일을 날짜별로 변환

rotate 30 : 로그 파일을 30개만 유지

compress : 지나간 로그파일들을 gzip으로 압축

missingok : 로그파일이 없더라도 오류를 발생시키지 않음


(2) shell과 crontab을 사용

– 가칭 rotatelog.sh 작성

#!/bin/sh
cp /{PATH_TO_TOMCAT_LOG_FILE}/catalina.out /{PATH_TO_TOMCAT_LOG_FILE}/catalina.out.$(date +%Y-%m-%d) 2>&1
cat /dev/null > /{PATH_TO_TOMCAT_LOG_FILE}/catalina.out

 

– 매일 밤 11시 59분에 실행하도록 crontab에 등록

59 23 * * * /{PATH_TO_SHELL}/rotatelog.sh

 


# 로그 파일 경로 변경

톰캣의 로그는 기본적으로 ${catalina.base}/logs 디렉토리에 저장된다. 이를 /fslog/myapp 디렉토리로 수정

(1) catalina.out

– ${catalina.base}/bin/catalina.sh 수정


if [ -z “$CATALINA_OUT” ] ; then
CATALINA_OUT=/fslog/myapp/catalina.out
fi

(2) catalina.YYYY-MM-DD.log, host-manager.YYYY-MM-DD.log, manager.YYYY-MM-DD.log, localhost.YYYY-MM-DD.log

– ${catalina.base}/conf/logging.properties 수정


1catalina.org.apache.juli.AsyncFileHandler.directory = /fslog/myapp
1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina.

2localhost.org.apache.juli.AsyncFileHandler.directory = /fslog/myapp
2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost.

3manager.org.apache.juli.AsyncFileHandler.directory = /fslog/myapp
3manager.org.apache.juli.AsyncFileHandler.prefix = manager.

4host-manager.org.apache.juli.AsyncFileHandler.directory = /fslog/myapp
4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager.

(3) localhost_access_log.YYYY-MM-DD.txt

– ${catalina.base}/conf/server.xml 수정


<Valve className=”org.apache.catalina.valves.AccessLogValve” directory=”/fsapp/myapp”
prefix=”localhost_access_log” suffix=”.txt”
pattern=”%h %l %u %t “%r” %s %b” />

 

톰캣(Tomcat) 로그
Tagged on:         

2 thoughts on “톰캣(Tomcat) 로그

  • 2021년 12월 4일 at 4:45 오전
    Permalink

    안녕하세요~
    항상 경제 지표 잘 보고 있습니다. 감사합니다^^
    풋-콧?(cpce)? 이 지표도 올려주실수 없을까요?
    아니면 어디서 찾아야하는지 알수 있을까요?
    부탁드립니다~

    Reply

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다.