톰캣은 catalina.<날짜>와 catalina.out 두개의 파일을 로깅하고 있어 퍼포먼스에 조금 신경이 쓰이는 부분이 있습니다.

톰캣의 conf 디렉토리 안에있는 logging.properties 안의 내용을 다음과 같이 수정하여 봅시다.

handlers = 1catalina.org.apache.juli.FileHandler

1catalina.org.apache.juli.FileHandler.level = INFO
1catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs
1catalina.org.apache.juli.FileHandler.prefix = catalina.


위의 내용을 제외한 나머지는 모두 주석처리 해버리면 catalina.<날짜> 형태의 로그 외에는 모두 기록하지 않습니다.

개발환경이 아닌 단순 서비스 환경에서는 이렇게 로그를 최소화 하는것이 좋겠네요.

1catalina.org.apache.juli.FileHandler.level 의 값을 조정하여 로그 레벨을 정의할수도 있습니다.

 

기존 log생성 막기

먼저 catalina.out이 생성되는 것을 막기 위해

#  touch "$CATALINA_OUT"

처럼 주석처리를 해주고, 생성된 catalina.out에 로그를 찍는 것을 막기 위해

#      org.apache.catalina.startup.Bootstrap "$@" start \
#      >> "$CATALINA_OUT" 2>&1 &

위와 같이 if, else에 각각 하나씩 존재하는 부분을 둘 다 주석처리해줘야한다.


cronolog사용

http://cronolog.org 설치하여 세팅

설치하고자 하는 디렉토리로 이동

# cd /home/esb

cronolog tar파일 다운

# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz

압축해제

# tar xzvf cronolog-1.6.2.tar.gz

해제된 디렉토리로 이동

# cd cronolog-1.6.2

환경에 맞게 설치

# ./configure --prefix=/home/esb/cronolog

# make && make install

# ls -al /home/esb/cronolog/sbin

$CATALINA_BASE/bin/catalina.sh를 편집한다.

org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &

org.apache.catalina.startup.Bootstrap "$@" \
start |/home/esb/cronolog/sbin/cronolog "$CATALINA_BASE"/logs/%Y-%m-%d.catalina.out >> /dev/null 2>&1 &

 

Posted by 미랭군