티스토리 뷰
Apache Tomcat을 사용하다보면 catalina.out이라는 tomcat로그가 쌓인다. 이 로그파일을 관리하지 않는다면 catalina.out은 삭제되지 않고 계속해서 로그가 쌓이게 되는 문제가 발생된다. 이를 방치하면 몇십 GB는 물론이며 몇백 GB까지 올라가 디스크 용량에 무리를 주게 되는데 이를 관리하는 방법에 대해 알아보자.
방법은 간단하다. Tomcat 경로(/tomcat경로/bin/)에 있는 catalina.sh 파일을 수정해주면 된다.
■ Before
elif [ "$1" = "start" ] ; then
...(생략)...
shift
touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
else
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
fi
if [ ! -z "$CATALINA_PID" ]; then
echo $! > "$CATALINA_PID"
fi
echo "Tomcat started."
"$CATALINA_OUT" 이부분으로 검색하여 start구문을 찾아 위에 강조된 부분을 아래와 같이 수정하면 된다.
■ After
elif [ "$1" = "start" ] ; then
...(생략)...
shift
#touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
"2>&1" \| /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 "&"
#>> "$CATALINA_OUT" 2>&1 "&"
else
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
"2>&1" \| /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 "&"
#>> "$CATALINA_OUT" 2>&1 "&"
fi
if [ ! -z "$CATALINA_PID" ]; then
echo $! > "$CATALINA_PID"
fi
echo "Tomcat started."
상단 touch를 이용해 CATALINA.OUT 로그파일을 생성하는 부분을 주석처리하고
하단에 로그를 수집하여 파일에 저장하는 형태를 날짜 형태로 바꾸어 주면된다.
이렇게 수정하면 catalina.out에 용량이 늘어나지 않게 되면서 날짜별로 로그파일이 생성된다.
참고로
2>&1 표준출력으로 redirection
86400 일단위로 로테이션 (초단위 설정)
540 영국표준시와 한국시간과의 시간차
출처
https://gangnam-americano.tistory.com/m/42
방법은 간단하다. Tomcat 경로(/tomcat경로/bin/)에 있는 catalina.sh 파일을 수정해주면 된다.
■ Before
elif [ "$1" = "start" ] ; then
...(생략)...
shift
touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
else
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"
fi
if [ ! -z "$CATALINA_PID" ]; then
echo $! > "$CATALINA_PID"
fi
echo "Tomcat started."
"$CATALINA_OUT" 이부분으로 검색하여 start구문을 찾아 위에 강조된 부분을 아래와 같이 수정하면 된다.
■ After
elif [ "$1" = "start" ] ; then
...(생략)...
shift
#touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Djava.security.manager \
-Djava.security.policy=="\"$CATALINA_BASE/conf/catalina.policy\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
"2>&1" \| /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 "&"
#>> "$CATALINA_OUT" 2>&1 "&"
else
eval "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="\"$JAVA_ENDORSED_DIRS\"" -classpath "\"$CLASSPATH\"" \
-Dcatalina.base="\"$CATALINA_BASE\"" \
-Dcatalina.home="\"$CATALINA_HOME\"" \
-Djava.io.tmpdir="\"$CATALINA_TMPDIR\"" \
org.apache.catalina.startup.Bootstrap "$@" start \
"2>&1" \| /usr/sbin/rotatelogs "$CATALINA_OUT".%Y-%m-%d 86400 540 "&"
#>> "$CATALINA_OUT" 2>&1 "&"
fi
if [ ! -z "$CATALINA_PID" ]; then
echo $! > "$CATALINA_PID"
fi
echo "Tomcat started."
상단 touch를 이용해 CATALINA.OUT 로그파일을 생성하는 부분을 주석처리하고
하단에 로그를 수집하여 파일에 저장하는 형태를 날짜 형태로 바꾸어 주면된다.
이렇게 수정하면 catalina.out에 용량이 늘어나지 않게 되면서 날짜별로 로그파일이 생성된다.
참고로
2>&1 표준출력으로 redirection
86400 일단위로 로테이션 (초단위 설정)
540 영국표준시와 한국시간과의 시간차
출처
https://gangnam-americano.tistory.com/m/42
'자바(Java)' 카테고리의 다른 글
자바 jsp 파일 다운로드 (0) | 2019.12.12 |
---|---|
자바 aes 암호화 복호화 예제 (0) | 2019.12.09 |
[Java] 암호화를 위한 Cipher 클래스 (Java로 AES, RSA 암호화, 복호화) (0) | 2019.11.26 |
파일명 밀리세컨드 (0) | 2019.11.01 |
자바 다음달 날짜 구하기 (0) | 2019.10.24 |
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- JDBC
- KG
- 프로씨
- 이클립스
- XE
- XE3
- 포인터
- ocjap
- 인포믹스
- MySQL
- Python
- 오라클
- C언어
- 자바
- esql
- 라이믹스 모듈
- 스크래핑
- C
- 파싱
- EC
- 문자열
- 자바 smtp
- xe addon
- 플러터
- xe애드온
- ocajp
- proc
- php
- 파이썬
- webix
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
글 보관함